SlideShare a Scribd company logo
INSTALL OWNCLOUD DAN NGINX DENGAN PHP-FPM


OwnCloud adalah software suite yang berfokus pada layanan penyimpanan data berbasis
lokasi yang independen (cloud storage) dan termasuk kategori Infrastructur as a Services
(IaaS) Cloud Computing, berbasis CMS (Content Management System ). ownCloud dibangun
berbasis PHP, SQLite/MySQL dan PostgreSQL serta dapat diberjalan disemua platform
windows, linux dan mac.


Nginx adalah salah satu server web yang ringan, cepat dan efiesien. Nginx juga merupakan
web reverse proxy dan email (IMAP/POP3) proxy.


Konfigurasi Sistem Centos 6.4
Konfigurasi centos dan tambahkan repository, disini menggunakan fedora epel untuk
repository dan remi. Sebenarnya repository ini tidak didukung secara resmi oleh Centos tapi
repository ini memberikan versi terbaru dari aplikasi yang nantinya akan digunakan.


[root@dl ~]# rpm -Uvh 
http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@dl ~]# rpm -Uvh http://rpms.famillecollet.com/eterprise/remi-release-6.rpm
[root@dl ~]#yum update -y


Pastikan SELINUX dalam keadaan disable, perintah dibawah ini untuk memeriksa
konfigurasi selinux.
root@dl ~]# grep SELINUX /etc/selinux/config
# SELINUX= can take one of these three values:
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
SELINUXTYPE=targeted
[root@dl ~]#vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#   enforcing - SELinux security policy is enforced.
#   permissive - SELinux prints warnings instead of enforcing.
#   disabled - No SELinux policy is loaded.
SELINUX=disabled                                      # pastikan SELINUX = disabled
# SELINUXTYPE= can take one of these two values:
#      targeted - Targeted processes are protected,
#      mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@dl ~]#reboot


Install Nginx, PHP-FPM dan Mysql Server
Untuk menjalankan Owncloud, dibawah ini daftar paket yang harus di install


[root@dl ~]#yum install nginx mysql-server php-fpm php-gd php-ldap php-pear php-xml
php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt
php-shout php-snmp php-soap php-tidy


Salah satu dari packet php-sqlite atau php-mysql harus di install tergantung database yang
digunakan, jika owncloud nantinya terintegrasi dengan samba install packet smbclient.


Konfigurasi Nginx dan PHP-FPM untuk OwnCloud
Buat file konfigurasi owncloud.conf dan simpan pada direktori conf.d pada direktori utama
nginx.
[root@dl ~]#cd /etc/nginx/conf.d
[root@dl conf.d]# vi owncloud.conf
---- isi file owncloud.conf ---
konfigurasi ini merupakan contoh lengkap untuk owncloud versi 5 dan berjalan untuk ipv4
dan ipv4, jika ingin berjalan ipv4 gunakan 80, bukan [::]:80.


Pertama, konfigurasi agar direct ke HTTPS ( contoh dl.sampel.com, disesuikan dengan
domain yang ada)
server {
    listen 80;
    server_name dl.sampel.com;
    rewrite ^ https://$server_name$request_uri? permanent;
}
Bagian ini merupakan konfigurasi utama owncloud versi 5


server {
 listen 443 ssl; # Buat menggunakan 443 port ssl untuk ipv4 dan ipv6, tergantung kebutuhan.
 server_name dl.umm.ac.id;
root /var/www/owncloud; # Direktori utama owncloud.
index index.php;


 # file seritfikat ssl, buatlah file sertifikat ssl sesuai yang didefinisikan pada konfigurasi
dibawah ini.
 ssl_certificate /etc/nginx/certs/server.crt;
 ssl_certificate_key /etc/nginx/certs/server.key;


 # Bagian ini membatasi maksimal upload, sesuikan dengan konfigurasi php.ini
 client_max_body_size 100M;
 fastcgi_buffers 64 4K;


 # Konfigurasi halaman error
 error_page 403 = /core/templates/403.php;
 error_page 404 = /core/templates/404.php;


 # Beberapa aturan rewrite
 rewrite ^/owncloud/caldav((/|$).*)$ /owncloud/remote.php/caldav$1 last;
 rewrite ^/owncloud/carddav((/|$).*)$ /owncloud/remote.php/carddav$1 last;
 rewrite ^/owncloud/webdav((/|$).*)$ /owncloud/remote.php/webdav$1 last;


 # Melindungi file sensitif dari kemungkinan hacking dari luar (intranet/internet)
 location ~ ^/owncloud/(data|config|.ht|db_structure.xml|README) {
     deny all;
 }


# Konfigurasi file Utama dengan aturan rewrite.
 location /owncloud/ {
     rewrite ^/owncloud/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/owncloud/.well-known/host-meta.json /public.php?service=host-meta-json last;
        rewrite ^/owncloud/.well-known/carddav /remote.php/carddav/ redirect;
        rewrite ^/owncloud/.well-known/caldav /remote.php/caldav/ redirect;
        rewrite ^/owncloud/apps/calendar/caldav.php /remote.php/caldav/ last;
        rewrite ^/owncloud/apps/contacts/carddav.php /remote.php/carddav/ last;
        rewrite ^/owncloud/apps/([^/]*)/(.*.(css|php))$ /index.php?app=$1&getfile=$2 last;
    rewrite ^(/owncloud/core/doc[^/]+/)$ $1/index.html;
    index index.php;
    try_files $uri $uri/ index.php;
    }


    # Konfigurasi PHP-FPM
    location ~ ^(?<script_name>.+?.php)(?<path_info>/.*)?$ {
        try_files $script_name = 404;
        # sesuaikan dengan host atau port yang digunakan pada direktori php-fpm.d
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param HTTPS on;
    fastcgi_param PHP_VALUE "upload_max_filesize = 100M n post_max_size = 100M";
        fastcgi_param SCRIPT_FILENAME /var/www/owncloud$fastcgi_script_name;
        include fastcgi_params;
    }


    location ~* ^.+.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
        expires 30d;
        access_log off;
    }
}
Simpan file konfigurasi ini.


Membuat file sertifikat ssl.
Penjelasan lebih lanjut tentang module ssl seritkat baca di
http://wiki.nginx.org/HttpSslModule
[root@dl ~]# mkdir -p /etc/nginx/certs
[root@dl ~]# cd /etc/nginx/certs
[root@dl certs]# openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
....................++++++
..............++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
[root@dl certs]# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Jawa Timur
Locality Name (eg, city) [Default City]:Malang
Organization Name (eg, company) [Default Company Ltd]:My Company
Organizational Unit Name (eg, section) []:My Section
Common Name (eg, your name or your server's hostname) []:dl.sample.com
Email Address []:ruslan@sample.com


Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@dl certs]# cp server.key server.key.orig
[root@dl certs]# openssl rsa -in server.key.orig -out server.key
Enter pass phrase for server.key.orig:
writing RSA key
[root@dl certs]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out
server.crt
Signature ok
subject=/C=IN/ST=Jawa Timur/L=Malang/O=My Company/OU=My
Section/CN=dl.sample.com/emailAddress=ruslan@sample.com
Getting Private key
[root@dl certs]# ls
server.crt server.csr server.key server.key.orig
[root@dl certs]#


Membuat database OwnCloud di Mysql
sebelum membuat database owncloud jalankan terlebih dahulu mysql, berikut ini langkah
untuk membuat database dan hak akses user ke database yang dibuat.


[root@dl ~]# /etc/init.d/mysqld start
[root@dl ~]# chkconfig mysqld on
[root@dl ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1652
Server version: 5.1.67 Source distribution


Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.


mysql> create database owncloud;
mysql> GRANT ALL ON owncloud.* TO owncloud@localhost IDENTIFIED BY
'mypasscloud';
mysql> flush privileges;
mysql> quit
Bye
[root@dl ~]#


Konfigurasi PHP-FPM
Edi file php.ini, naikkan nilai post_max_size dan upload_max_filesize sesuai dengan nilai
yang telah didefinisakan sebelumnya pada file owncloud.conf nginx.
[root@dl ~]#vi /etc/php.ini
cari bagian ini dan sesuikan
post_max_size = 100M
upload_max_file_size = 100M
simpan file konfigurasi ini.
[root@dl ~]#
Sesuaikan user,group dan port php-fpm sesuai yang telah didefinisikan sebelumnya pada file
owncloud.conf nginx.
[root@dl ~]#vi /etc/php-fpm.d/www.conf
cari bagian ini dan sesuaikan
listen = 127.0.0.1:9000
user = nginx
group = nginx
simpan file konfigurasi ini.
[root@dl ~]#


Menjalankan php-fpm dan nginx
[root@dl ~]# /etc/init.d/nginx start
[root@dl ~]# chkconfig nginx on
[root@dl ~]# /etc/init.d/php-fpm on
[root@dl ~]# chkconfig php-fpm on


Membangun OwnCloud
Download versi terbaru dari owncloud, ekstrak file ini dan pindahkan ke direktori utama yang
telah didefinisikan sebelumnya pada file owncloud.conf nginx.
[root@dl ~]# wget http://download.owncloud.org/community/owncloud-5.0.0.tar.bz2
[root@dl ~]#tar -jxvf owncloud-5.0.0.tar.bz2
[root@dl ~]# ls
owncloud owncloud-5.0.0.tar.bz2
[root@dl ~]# mv owncloud /var/www
chown dan chmod direcktori owncloud agar bisa di akses dan terproteksi hanya untuk user
dan group yang didefinisikan.
[root@dl ]~#cd /var/www
[root@dl ~]#chown -R nginx.nginx owncloud
[root@dl ~]#chmod -R 770 owncloud
Jika nanti direktori data user dibuat di partisi tersendiri, definisikan juga user dan hak akses
untuk diretkri tersebut
[root@dl ~]#mkdir /data/users
[root@dl ~]#chown -R nginx.nginx /data/users
[root@dl ~]#chmod -R 770 /data/users


Terakhir buka browser dan lakukan instalasi web interface owncloud, sesuai dengan alamat
yang telah didefinisikan sebelumnya pada file owncloud.conf nginx.




                                   Gambar 1. Proses Instalasi
Jika sudah diisi dengan benar, klik finish. Dari sini proses install layanan owncloud sudah
selesai dan sudah bisa digunakan.


Dari Gambar 2. Setelah proses instalasi sudah dapat login dengan user admin.




                                    Gambar 2. Menu Login


Dari Gambar 3. Dari halaman ini dapat mengupload file ataupun membuat direktori dan file.




Gambar 3. Halaman Users
Layanan private cloud telah selesai dibangun dan dapat digunakan.
INTEGRASI OWNCLOUD DENGAN ZIMBRA LDAP


Sistem authentikasi teintegrasi (Single Sign-on) saat ini merupakan sebuah kebutuhan, hal ini
karena memudahkan pengguna untuk mengingat dan mengakses setiap layanan hanya dengan
satu authentikasi terintegrasi.


Dari Gambar 4. Bagaimana mengaktifkan layanan ldap.




                                         Gambar 4.
Setelah login sebagai admin, pada bagian pojok kiri atas user admin. Pilih apps dan LDAP
user dan group backend, pastikan sudah enable untuk mengaktifkan.


Dari Gambar 5. Informasi Account LDAP,




                                         Gambar 5
Informasi Base DN isi dengan ou (Organisation Unit) dari domain zimbra, username dan
password sesuai dengan informasi user dan password zimbra.
Dari Gambar 6. Test Konfigurasi LDAP




                                         Gambar 6.
Jika tidak terjadi kesalahan, informasi yang didapat seperti pada Gambar 6.


Dari Gambar 7. Pada OwnCloud versi 5 informasi user ldap yang terbaca sudah di enkripsi,
hal ini akan lebih aman.




                                         Gambar 7.
Owncloud sudah terintegrasi dengan zimbra ldap, setiap penggunan layanan mail yang
terdaftar pada server zimbra secara otomatis dapat menggunakan layanan owncloud tampa
proses pendaftaran.




Terima Kasih. Semoga bermanfaat.


Wassalamu'alaikum. Wr. Wb

More Related Content

PDF
Soal ujikom 2013
PDF
(2012) 4.proxy pada ubuntu
PPT
websecure.ppt
PDF
L6 web server_fadlysatriyagunawan
PPTX
Squid proxy-server
DOCX
Konfigurasi router debian 7
PDF
Pembahasan soal paket 1
PDF
Instalasi Squid Proxy di Ubuntu
Soal ujikom 2013
(2012) 4.proxy pada ubuntu
websecure.ppt
L6 web server_fadlysatriyagunawan
Squid proxy-server
Konfigurasi router debian 7
Pembahasan soal paket 1
Instalasi Squid Proxy di Ubuntu

What's hot (18)

DOCX
Pembahasansoallks2013
PDF
Bab 7 gnu linu x server
PDF
Install own cloud server di ubuntu 12
PDF
Squid indonesia
PDF
Supriyanto squidproxyserver
PDF
Working Instruction Instalation Owncloud On Centos 6
PDF
2012-31.Konfigurasi proxy debian menggunakan squid 2.6 stable
PDF
PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
PDF
AT Rapier Usecase Document
PDF
pembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENG
DOCX
Konfigurasi
PDF
Artikelserver
PDF
FreeBSD Web Server
DOCX
Setting PROXY Ubuntu Server
PPT
Tugas presentasi fix
PPTX
Linux beginner
DOCX
Konfigurasi Web server APACHE2
PDF
SOAL UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
Pembahasansoallks2013
Bab 7 gnu linu x server
Install own cloud server di ubuntu 12
Squid indonesia
Supriyanto squidproxyserver
Working Instruction Instalation Owncloud On Centos 6
2012-31.Konfigurasi proxy debian menggunakan squid 2.6 stable
PENYELESAIAN UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
AT Rapier Usecase Document
pembahasan soal UKK Paket1 SMK NEGERI 1 MAJAULENG
Konfigurasi
Artikelserver
FreeBSD Web Server
Setting PROXY Ubuntu Server
Tugas presentasi fix
Linux beginner
Konfigurasi Web server APACHE2
SOAL UKK FIX TKJ SMK NEGERI 4 GORONTALO (2019)
Ad

Viewers also liked (10)

PDF
Latihan soal perancangan basis data bsi mi semester 2
PPTX
Studi kasus pemeriksaan medis
PDF
Laporan studi kasus
PPTX
Pengembangan sistem informasi perpustakaan berbasis web di perpustakaan SDN W...
PPT
Bab 7 studi kasus
PPTX
Sistem operasi berbasis gui
PPTX
Erd dan contoh kasus
PDF
Analisis dan perancangan basis data perpustakaan
PDF
SEO: Getting Personal
Latihan soal perancangan basis data bsi mi semester 2
Studi kasus pemeriksaan medis
Laporan studi kasus
Pengembangan sistem informasi perpustakaan berbasis web di perpustakaan SDN W...
Bab 7 studi kasus
Sistem operasi berbasis gui
Erd dan contoh kasus
Analisis dan perancangan basis data perpustakaan
SEO: Getting Personal
Ad

Similar to Nginx owncloud (15)

DOCX
Tutorial Instalasi TKJ CLoud Server
PPTX
cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5
PDF
Workshop OSC owncloud
DOCX
konfigurasi debian server
PPTX
Cloud computing
PDF
konfigurasi web server, dns server , dhcp server, ftp server , mail server da...
PDF
Konfigurasi web server
PPTX
Tutorial membuat virtual host+ssl
DOC
Instalasi ssh server
PDF
Konfigurasi debian
PPTX
Presentasi (2).pptx
PPTX
TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)
DOCX
Langkah langkah konfigurasi dns, webserver, mail dan webmail server pada debi...
DOCX
Tutorial instalasi ubuntu server 12.04, setting DNS server dan Web server
DOCX
Konfigurasi Mail Server Di Debian 7
Tutorial Instalasi TKJ CLoud Server
cara install nginx dengan php5 dan dukungan Mysql Di CentOS 6.5
Workshop OSC owncloud
konfigurasi debian server
Cloud computing
konfigurasi web server, dns server , dhcp server, ftp server , mail server da...
Konfigurasi web server
Tutorial membuat virtual host+ssl
Instalasi ssh server
Konfigurasi debian
Presentasi (2).pptx
TugasII SO2 Install Apache, PHP Dan MySQL Pada CentOS 7 (LAMP)
Langkah langkah konfigurasi dns, webserver, mail dan webmail server pada debi...
Tutorial instalasi ubuntu server 12.04, setting DNS server dan Web server
Konfigurasi Mail Server Di Debian 7

Recently uploaded (9)

DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PPT
pengantar-sistem-informasi manajemen.ppt
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
PDF
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
PPTX
Implementasi Microservices pada Manufaktur
PDF
Modul_Pemula_Merakit_Komputer untuk smppdf
PPTX
Materi asdsa asd asd sad sa dsa dsa d sa
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Materi_Array_Karakter_String untuk kelas XI sma.pptx
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
pengantar-sistem-informasi manajemen.ppt
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
Implementasi Microservices pada Manufaktur
Modul_Pemula_Merakit_Komputer untuk smppdf
Materi asdsa asd asd sad sa dsa dsa d sa

Nginx owncloud

  • 1. INSTALL OWNCLOUD DAN NGINX DENGAN PHP-FPM OwnCloud adalah software suite yang berfokus pada layanan penyimpanan data berbasis lokasi yang independen (cloud storage) dan termasuk kategori Infrastructur as a Services (IaaS) Cloud Computing, berbasis CMS (Content Management System ). ownCloud dibangun berbasis PHP, SQLite/MySQL dan PostgreSQL serta dapat diberjalan disemua platform windows, linux dan mac. Nginx adalah salah satu server web yang ringan, cepat dan efiesien. Nginx juga merupakan web reverse proxy dan email (IMAP/POP3) proxy. Konfigurasi Sistem Centos 6.4 Konfigurasi centos dan tambahkan repository, disini menggunakan fedora epel untuk repository dan remi. Sebenarnya repository ini tidak didukung secara resmi oleh Centos tapi repository ini memberikan versi terbaru dari aplikasi yang nantinya akan digunakan. [root@dl ~]# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [root@dl ~]# rpm -Uvh http://rpms.famillecollet.com/eterprise/remi-release-6.rpm [root@dl ~]#yum update -y Pastikan SELINUX dalam keadaan disable, perintah dibawah ini untuk memeriksa konfigurasi selinux. root@dl ~]# grep SELINUX /etc/selinux/config # SELINUX= can take one of these three values: SELINUX=disabled # SELINUXTYPE= can take one of these two values: SELINUXTYPE=targeted [root@dl ~]#vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded.
  • 2. SELINUX=disabled # pastikan SELINUX = disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted [root@dl ~]#reboot Install Nginx, PHP-FPM dan Mysql Server Untuk menjalankan Owncloud, dibawah ini daftar paket yang harus di install [root@dl ~]#yum install nginx mysql-server php-fpm php-gd php-ldap php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-shout php-snmp php-soap php-tidy Salah satu dari packet php-sqlite atau php-mysql harus di install tergantung database yang digunakan, jika owncloud nantinya terintegrasi dengan samba install packet smbclient. Konfigurasi Nginx dan PHP-FPM untuk OwnCloud Buat file konfigurasi owncloud.conf dan simpan pada direktori conf.d pada direktori utama nginx. [root@dl ~]#cd /etc/nginx/conf.d [root@dl conf.d]# vi owncloud.conf ---- isi file owncloud.conf --- konfigurasi ini merupakan contoh lengkap untuk owncloud versi 5 dan berjalan untuk ipv4 dan ipv4, jika ingin berjalan ipv4 gunakan 80, bukan [::]:80. Pertama, konfigurasi agar direct ke HTTPS ( contoh dl.sampel.com, disesuikan dengan domain yang ada) server { listen 80; server_name dl.sampel.com; rewrite ^ https://$server_name$request_uri? permanent; }
  • 3. Bagian ini merupakan konfigurasi utama owncloud versi 5 server { listen 443 ssl; # Buat menggunakan 443 port ssl untuk ipv4 dan ipv6, tergantung kebutuhan. server_name dl.umm.ac.id; root /var/www/owncloud; # Direktori utama owncloud. index index.php; # file seritfikat ssl, buatlah file sertifikat ssl sesuai yang didefinisikan pada konfigurasi dibawah ini. ssl_certificate /etc/nginx/certs/server.crt; ssl_certificate_key /etc/nginx/certs/server.key; # Bagian ini membatasi maksimal upload, sesuikan dengan konfigurasi php.ini client_max_body_size 100M; fastcgi_buffers 64 4K; # Konfigurasi halaman error error_page 403 = /core/templates/403.php; error_page 404 = /core/templates/404.php; # Beberapa aturan rewrite rewrite ^/owncloud/caldav((/|$).*)$ /owncloud/remote.php/caldav$1 last; rewrite ^/owncloud/carddav((/|$).*)$ /owncloud/remote.php/carddav$1 last; rewrite ^/owncloud/webdav((/|$).*)$ /owncloud/remote.php/webdav$1 last; # Melindungi file sensitif dari kemungkinan hacking dari luar (intranet/internet) location ~ ^/owncloud/(data|config|.ht|db_structure.xml|README) { deny all; } # Konfigurasi file Utama dengan aturan rewrite. location /owncloud/ { rewrite ^/owncloud/.well-known/host-meta /public.php?service=host-meta last;
  • 4. rewrite ^/owncloud/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/owncloud/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/owncloud/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^/owncloud/apps/calendar/caldav.php /remote.php/caldav/ last; rewrite ^/owncloud/apps/contacts/carddav.php /remote.php/carddav/ last; rewrite ^/owncloud/apps/([^/]*)/(.*.(css|php))$ /index.php?app=$1&getfile=$2 last; rewrite ^(/owncloud/core/doc[^/]+/)$ $1/index.html; index index.php; try_files $uri $uri/ index.php; } # Konfigurasi PHP-FPM location ~ ^(?<script_name>.+?.php)(?<path_info>/.*)?$ { try_files $script_name = 404; # sesuaikan dengan host atau port yang digunakan pada direktori php-fpm.d fastcgi_pass 127.0.0.1:9000; fastcgi_param PATH_INFO $path_info; fastcgi_param HTTPS on; fastcgi_param PHP_VALUE "upload_max_filesize = 100M n post_max_size = 100M"; fastcgi_param SCRIPT_FILENAME /var/www/owncloud$fastcgi_script_name; include fastcgi_params; } location ~* ^.+.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d; access_log off; } } Simpan file konfigurasi ini. Membuat file sertifikat ssl. Penjelasan lebih lanjut tentang module ssl seritkat baca di http://wiki.nginx.org/HttpSslModule
  • 5. [root@dl ~]# mkdir -p /etc/nginx/certs [root@dl ~]# cd /etc/nginx/certs [root@dl certs]# openssl genrsa -des3 -out server.key 1024 Generating RSA private key, 1024 bit long modulus ....................++++++ ..............++++++ e is 65537 (0x10001) Enter pass phrase for server.key: Verifying - Enter pass phrase for server.key: [root@dl certs]# openssl req -new -key server.key -out server.csr Enter pass phrase for server.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:IN State or Province Name (full name) []:Jawa Timur Locality Name (eg, city) [Default City]:Malang Organization Name (eg, company) [Default Company Ltd]:My Company Organizational Unit Name (eg, section) []:My Section Common Name (eg, your name or your server's hostname) []:dl.sample.com Email Address []:ruslan@sample.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: [root@dl certs]# cp server.key server.key.orig [root@dl certs]# openssl rsa -in server.key.orig -out server.key Enter pass phrase for server.key.orig: writing RSA key
  • 6. [root@dl certs]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt Signature ok subject=/C=IN/ST=Jawa Timur/L=Malang/O=My Company/OU=My Section/CN=dl.sample.com/emailAddress=ruslan@sample.com Getting Private key [root@dl certs]# ls server.crt server.csr server.key server.key.orig [root@dl certs]# Membuat database OwnCloud di Mysql sebelum membuat database owncloud jalankan terlebih dahulu mysql, berikut ini langkah untuk membuat database dan hak akses user ke database yang dibuat. [root@dl ~]# /etc/init.d/mysqld start [root@dl ~]# chkconfig mysqld on [root@dl ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1652 Server version: 5.1.67 Source distribution Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> create database owncloud; mysql> GRANT ALL ON owncloud.* TO owncloud@localhost IDENTIFIED BY 'mypasscloud'; mysql> flush privileges;
  • 7. mysql> quit Bye [root@dl ~]# Konfigurasi PHP-FPM Edi file php.ini, naikkan nilai post_max_size dan upload_max_filesize sesuai dengan nilai yang telah didefinisakan sebelumnya pada file owncloud.conf nginx. [root@dl ~]#vi /etc/php.ini cari bagian ini dan sesuikan post_max_size = 100M upload_max_file_size = 100M simpan file konfigurasi ini. [root@dl ~]# Sesuaikan user,group dan port php-fpm sesuai yang telah didefinisikan sebelumnya pada file owncloud.conf nginx. [root@dl ~]#vi /etc/php-fpm.d/www.conf cari bagian ini dan sesuaikan listen = 127.0.0.1:9000 user = nginx group = nginx simpan file konfigurasi ini. [root@dl ~]# Menjalankan php-fpm dan nginx [root@dl ~]# /etc/init.d/nginx start [root@dl ~]# chkconfig nginx on [root@dl ~]# /etc/init.d/php-fpm on [root@dl ~]# chkconfig php-fpm on Membangun OwnCloud Download versi terbaru dari owncloud, ekstrak file ini dan pindahkan ke direktori utama yang telah didefinisikan sebelumnya pada file owncloud.conf nginx. [root@dl ~]# wget http://download.owncloud.org/community/owncloud-5.0.0.tar.bz2 [root@dl ~]#tar -jxvf owncloud-5.0.0.tar.bz2
  • 8. [root@dl ~]# ls owncloud owncloud-5.0.0.tar.bz2 [root@dl ~]# mv owncloud /var/www chown dan chmod direcktori owncloud agar bisa di akses dan terproteksi hanya untuk user dan group yang didefinisikan. [root@dl ]~#cd /var/www [root@dl ~]#chown -R nginx.nginx owncloud [root@dl ~]#chmod -R 770 owncloud Jika nanti direktori data user dibuat di partisi tersendiri, definisikan juga user dan hak akses untuk diretkri tersebut [root@dl ~]#mkdir /data/users [root@dl ~]#chown -R nginx.nginx /data/users [root@dl ~]#chmod -R 770 /data/users Terakhir buka browser dan lakukan instalasi web interface owncloud, sesuai dengan alamat yang telah didefinisikan sebelumnya pada file owncloud.conf nginx. Gambar 1. Proses Instalasi
  • 9. Jika sudah diisi dengan benar, klik finish. Dari sini proses install layanan owncloud sudah selesai dan sudah bisa digunakan. Dari Gambar 2. Setelah proses instalasi sudah dapat login dengan user admin. Gambar 2. Menu Login Dari Gambar 3. Dari halaman ini dapat mengupload file ataupun membuat direktori dan file. Gambar 3. Halaman Users Layanan private cloud telah selesai dibangun dan dapat digunakan.
  • 10. INTEGRASI OWNCLOUD DENGAN ZIMBRA LDAP Sistem authentikasi teintegrasi (Single Sign-on) saat ini merupakan sebuah kebutuhan, hal ini karena memudahkan pengguna untuk mengingat dan mengakses setiap layanan hanya dengan satu authentikasi terintegrasi. Dari Gambar 4. Bagaimana mengaktifkan layanan ldap. Gambar 4. Setelah login sebagai admin, pada bagian pojok kiri atas user admin. Pilih apps dan LDAP user dan group backend, pastikan sudah enable untuk mengaktifkan. Dari Gambar 5. Informasi Account LDAP, Gambar 5 Informasi Base DN isi dengan ou (Organisation Unit) dari domain zimbra, username dan password sesuai dengan informasi user dan password zimbra.
  • 11. Dari Gambar 6. Test Konfigurasi LDAP Gambar 6. Jika tidak terjadi kesalahan, informasi yang didapat seperti pada Gambar 6. Dari Gambar 7. Pada OwnCloud versi 5 informasi user ldap yang terbaca sudah di enkripsi, hal ini akan lebih aman. Gambar 7. Owncloud sudah terintegrasi dengan zimbra ldap, setiap penggunan layanan mail yang terdaftar pada server zimbra secara otomatis dapat menggunakan layanan owncloud tampa proses pendaftaran. Terima Kasih. Semoga bermanfaat. Wassalamu'alaikum. Wr. Wb