Pasang ownCloud 7 di CentOS 6 dengan Nginx w / SSL, PHP-FPM, dan PGSQL (Skrip Permulaan Automatik)

Anda boleh menyalin dan menampal skrip bash berikut ke kawasan skrip permulaan Panel Kawalan Vultr .

Skrip permulaan ini akan memasang versi ownCloud semasa, termasuk semua pakej yang diperlukan untuk menjalankan pelayan semasa penyebaran.

#/bin/sh
#####Generate Database Credentials
db_name="oc`date +%s`"
sleep 1
db_user="oc`date +%s`"
sleep 1
db_password=`date |md5sum |cut -c '1-12'`
ip_addr=$(ifconfig | grep -v '127.0.0.1' | sed -n 's/.*inet addr:\([0-9.]\+\)\s.*//p')
##### Open firewall for http and SSL
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
#### Remove any installed versions on mysql and enable proper php repo
yum -y remove mysql* mysql-server mysql-devel mysql-libs
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpm
sed -i '/\[remi\]/,/^ *\[/ s/enabled=0/enabled=1/' /etc/yum.repos.d/remi.repo
sed -i '/\[remi-php56\]/,/^ *\[/ s/enabled=0/enabled=1/' /etc/yum.repos.d/remi.repo
#### Enable latest nginx repo
touch /etc/yum.repos.d/nginx.repo
cat <<EOF > /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/"$releasever"/"$basearch"/
gpgcheck=0
enabled=1
EOF
#### Install Nginx and pgsql
yum -y update
yum -y install nginx postgresql93 postgresql93-libs postgresql93-server wget php-fpm php-gd php-ldap     php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-shout php-snmp php-soap php-tidy php-pgsql php-pdo
service postgresql-9.3 initdb
service postgresql-9.3 start
chkconfig postgresql-9.3 on
/etc/init.d/nginx start
chkconfig nginx on
/etc/init.d/nginx stop
#### Set Database Credentials and Create Database
su - -c "psql" postgres << EOF
CREATE USER $db_user WITH PASSWORD '$db_password';
CREATE DATABASE $db_name OWNER $db_user ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE $db_name TO $db_user;
EOF
#### Apply PHP settings
sed -i '/post_max_size/c\post_max_size = 2G' /etc/php.ini
sed -i '/cgi.fix_pathinfo/c\cgi.fix_pathinfo = 0' /etc/php.ini
sed -i '/upload_max_filesize/c\upload_max_filesize = 2G' /etc/php.ini
sed -i '/date.timezone/c\date.timezone = "UTC"' /etc/php.ini
#### Set NGINX and PGSQL settings
chkconfig php-fpm on
/etc/init.d/php-fpm start
sed -i '0,/ident/! {0,/ident/ s/ident/md5/}' /var/lib/pgsql/9.3/data/pg_hba.conf
sed -i '0,/ident/! {0,/ident/ s/ident/md5/}' /var/lib/pgsql/9.3/data/pg_hba.conf
cd /etc/nginx
mkdir -p cert
cd conf.d
touch oc.conf
cat <<EOF >oc.conf
upstream php-handler {
server 127.0.0.1:9000;
#server unix:/var/run/php5-fpm.sock;
}
server {
listen 80;
server_name $ip_addr;
return 301 https://$server_name$request_uri; # enforce https
}
server {
listen 443 ssl;
server_name $ip_addr;
ssl_certificate /etc/nginx/cert/server.crt;
ssl_certificate_key /etc/nginx/cert/server.key;
# Path to the root of your installation
root /var/www/owncloud/;
client_max_body_size 10G; # set max upload size
fastcgi_buffers 64 4K;
rewrite ^/caldav(.*)$ /remote.php/caldav\ redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav\ redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav\ 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/[^\/]+/)$ \/index.html;
try_files $uri $uri/ index.php;
}
location ~ ^(.+?\.php)(/.*)?$ {
try_files \ = 404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root\;
fastcgi_param PATH_INFO \;
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: Do not log access to assets
access_log off;
}
}
EOF
####Generate Self-signed SSl cert
cd ..
cd cert
openssl req -x509 -nodes -sha384 -days 3650 -newkey rsa:4096 -keyout server.key -out server.crt -subj "/"
chmod 600 server.key
chmod 600 server.crt
####Download and extract ownCloud software
cd /var/www
wget --no-check-certificate https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2
tar xjf owncloud-7.0.2.tar.bz2
mkdir -p owncloud/data
touch owncloud/config/autoconfig.php
cat << EOF >> owncloud/config/autoconfig.php
<?php
$AUTOCONFIG = array(
"dbtype" => "pgsql",
"dbname" => "$db_name",
"dbuser" => "$db_user",
"dbpass" => "$db_password",
"dbhost" => "localhost",
"dbtableprefix" => "",
"directory" => "/var/www/owncloud/data",
);
EOF
chmod 770 owncloud/data
chmod 777 owncloud/config/
chown -R root:apache owncloud
rm -rf owncloud-7.0.2.tar.bz2
/etc/init.d/postgresql-9.3 restart
/etc/init.d/nginx start
######Display generated passwords to log file.
echo "Database Name: " $db_name
echo "Database User: " $db_user
echo "Database Password: " $db_password
echo "Visit your ownCloud at https://"$ip_addr

Setelah menjalankan skrip, anda akan dapat mengakses cloud anda sendiri dan membuat akaun admin anda di https://youripaddress. Halaman awal akan mengatakan anda menggunakan SQLite, tetapi pelayan sudah dikonfigurasi untuk menggunakan PGSQL dengan betul. Ini diuji dan berfungsi pada VM dengan RAM 512MB, tetapi anda mungkin menginginkan sesuatu yang sedikit lebih besar atau membuat fail pertukaran untuk prestasi yang sedikit lebih baik. Sijil SSL ditandatangani sendiri, tetapi boleh diganti jika anda cenderung. Jangan lupa untuk mendapatkan bukti kelayakan pangkalan data anda ( tail /tmp/firstboot.log) dan untuk membuang fail tersebut setelah anda menggunakan.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut