Press enter to see results or esc to cancel.

Owncloud + Nginx(ssl) + Postgresql

Merhabalar, bu yazıda owncloud, nginx, postgresql kurulumu-yapılandırılmasının nasıl olduğunu anlatmaya çalışacağım.

Eger bir vps satin alip yukleme islemini direk vps ‘e yapmak isterseniz, burayi kullanabilirsiniz. Linke tiklayip uye olursaniz $10 krediye sahip olabilirsiniz ve 2 ay ucret odemeden kullanabilirsiniz.

İlk olarak Debian ‘ın kendi depoları yerine her paketin kendi depolarını kullanmayı tercih ettim. Nedeniyse daha güncel olmasıdır. Şimdi sırasıyla paketleri kuralım.

1. Postgresql kurulumu

echo ‘deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main’ >> /etc/apt/sources.list.d/postgresql.list
wget –quiet -O – https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add –
apt-get update

apt-get install postgresql-9.3
pg_createcluster 9.3 main –start

2. Owncloud kurulumu

echo ‘deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /’ >> /etc/apt/sources.list.d/owncloud.list
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key
apt-key add – < Release.key
apt-get update
apt-get install owncloud

3. Nginx kurulumu

echo ‘deb http://nginx.org/packages/debian/ wheezy nginx’ >> /etc/apt/sources.list.d/nginx.list
echo ‘deb-src http://nginx.org/packages/debian/ wheezy nginx’ >> /etc/apt/sources.list.d/nginx.list
wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
apt-get update
apt-get install nginx
apt-get install php5-fpm

Kurulum işleri sorunsuz bittiyse yapılandırmaya geçelim.

a. Postgresql yapılandırılması.

su – postgres

psql

postgres=# \password postgres

Enter new password:
Enter it again:

postgres@debian:~$ psql template1
template1=# CREATE USER own WITH PASSWORD ‘123456’;
CREATE ROLE
template1=# CREATE DATABASE owncloud;
CREATE DATABASE
template1=# GRANT ALL PRIVILEGES ON DATABASE owncloud to own;
GRANT
template1=# \q
exit

Yapılan işlemlere göre Postgresql bilgileri aşağıdaki gibidir.

kullanıcı adı : own

veritabanı adı : owncloud

şifresi : 123456

 

b. Nginx yapılandırılması
#owncloud.conf dosyası oluşturalım
vim /etc/nginx/conf.d/owcloud.conf

#Aşagıdaki parametleri ekleyelim ve kendinize göre düzenleyelim.

upstream php-handler {
server 127.0.0.1:9000;
# server unix:/var/run/php5-fpm.sock;
}

server {
listen 8080;
server_name cloud.murat.ws;
return 301 https://$server_name$request_uri; # enforce https
}

server {
listen 443 ssl;
server_name cloud.murat.ws;

ssl_certificate /etc/nginx/ssl/cloud.crt;
ssl_certificate_key /etc/nginx/ssl/cloud.key;

# Path to the root of your installation
root /var/www/owncloud/;

client_max_body_size 50G; # set max upload size
fastcgi_buffers 64 4K;

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}

location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ index.php;
}

location ~ ^(.+?\.php)(/.*)?$ {
try_files $1 = 404;

include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_param PATH_INFO $2;
fastcgi_param HTTPS on;
fastcgi_pass php-handler;
}

# Optional: set long EXPIRES header on static assets
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don’t log access to assets
access_log off;
}

}

Nginx için Self-Signed SSL Sertifikasi oluşturma

mkdir /etc/nginx/ssl
cd /etc/nginx/ssl

openssl genrsa -des3 -out cloud.key 1024
# İstediğimiz bir şifreyi yazalım
Enter pass phrase for cloud.key:
Verifying – Enter pass phrase for cloud.key:

# girmiş olduğumuz şifreyi tekrar girelim
openssl req -new -key cloud.key -out cloud.csr

openssl rsa -in cloud.key.org -out cloud.key
openssl x509 -req -days 365 -in cloud.csr -signkey cloud.key -out cloud.crt

Sertifikamızı oluşturma işlemi bitti.

vim /etc/php5/fpm/pool.d/www.conf dosyasını aşağıdaki gibi düzenleyin.

;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000

şimdi nginx servisi yeniden başlatalım.

/etc/init.d/nginx restart

Buraya kadar hata almadıysanız https://sunucu_adi diyerek aşağıdaki ekran görüntüsünü almanız gerekiyor.

cloud3

 

Bu ekrandan Advanced tıklayıp Postgresql seçip belirtmiş olduğunuz postgresql kullanıcı adı ve şifrenizi giriniz ve Finish Setup tıklayınız.

cloud5

 

Herhangi bir hata almadıysanız aşağıdaki ekran görüntüsüyle karşılacaksınız.

cloud7

 

Max Upload limitini arttırmak: 

Default olarak 2Mb upload limiti ile gelmektedir.

vim /etc/php5/fpm/php.ini dosyasıni metin editörü ile açıp aşağıdaki değişikleri yapınız.

upload_max_filesize = 50G

post_max_size = 50G

Benim kullanıdığım limit 50Gb oldu, kendinize göre düzenleyebilirsiniz.

son olarak servis yeniden başlatılır.

/etc/init.d/php5-fpm restart

Iphone için owncloud ekran görüntüsü

cloud-iphone

OwnCloud demo : http://demo.owncloud.org/

Kaynaklar :

http://doc.owncloud.org/server/6.0/admin_manual/installation/installation_source.html

http://nginx.org/en/docs/

http://www.postgresql.org/download/linux/debian/

Kaynak belirtilerek kopyalanabilinir.