Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: preg_match(): Unknown modifier '-' in /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php on line 783

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794

Warning: Cannot modify header information - headers already sent by (output started at /home/akl1986/public_html/support/wp-content/plugins/redux-framework/redux-core/inc/extensions/metaboxes/class-redux-extension-metaboxes.php:783) in /home/akl1986/public_html/support/wp-includes/rest-api/class-wp-rest-server.php on line 1794
{"id":2623,"date":"2019-12-06T18:59:27","date_gmt":"2019-12-06T18:59:27","guid":{"rendered":"https:\/\/support.aklwebhost.com\/?post_type=manual_kb&p=2623"},"modified":"2019-12-06T18:59:48","modified_gmt":"2019-12-06T18:59:48","slug":"install-owncloud-7-on-centos-6-with-nginx-w-ssl-php-fpm-and-pgsql-automated-startup-script","status":"publish","type":"manual_kb","link":"https:\/\/support.aklwebhost.com\/knowledgebase\/install-owncloud-7-on-centos-6-with-nginx-w-ssl-php-fpm-and-pgsql-automated-startup-script\/","title":{"rendered":"Install ownCloud 7 on CentOS 6 with Nginx w\/ SSL, PHP-FPM, and PGSQL (Automated Startup Script)"},"content":{"rendered":"

You can copy and paste the following bash script into the startup script area of the\u00a0AKLWEB HOST Control Panel<\/a><\/strong><\/span>.<\/p>\n

This startup script will install the current version of ownCloud, including all necessary packages to run the server upon deployment.<\/p>\n

#\/bin\/sh\r\n#####Generate Database Credentials\r\ndb_name=\"oc`date +%s`\"\r\nsleep 1\r\ndb_user=\"oc`date +%s`\"\r\nsleep 1\r\ndb_password=`date |md5sum |cut -c '1-12'`\r\nip_addr=$(ifconfig | grep -v '127.0.0.1' | sed -n 's\/.*inet addr:\\([0-9.]\\+\\)\\s.*\/\/p')\r\n##### Open firewall for http and SSL\r\niptables -F\r\niptables -A INPUT -i lo -j ACCEPT\r\niptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT\r\niptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT\r\niptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT\r\n\/etc\/init.d\/iptables save\r\n\/etc\/init.d\/iptables restart\r\n#### Remove any installed versions on mysql and enable proper php repo\r\nyum -y remove mysql* mysql-server mysql-devel mysql-libs\r\nrpm -ivh http:\/\/dl.fedoraproject.org\/pub\/epel\/6\/i386\/epel-release-6-8.noarch.rpm\r\nrpm -ivh http:\/\/rpms.famillecollet.com\/enterprise\/remi-release-6.rpm\r\nrpm -ivh http:\/\/yum.postgresql.org\/9.3\/redhat\/rhel-6-i386\/pgdg-centos93-9.3-1.noarch.rpm\r\nsed -i '\/\\[remi\\]\/,\/^ *\\[\/ s\/enabled=0\/enabled=1\/' \/etc\/yum.repos.d\/remi.repo\r\nsed -i '\/\\[remi-php56\\]\/,\/^ *\\[\/ s\/enabled=0\/enabled=1\/' \/etc\/yum.repos.d\/remi.repo\r\n#### Enable latest nginx repo\r\ntouch \/etc\/yum.repos.d\/nginx.repo\r\ncat <<EOF > \/etc\/yum.repos.d\/nginx.repo\r\n[nginx]\r\nname=nginx repo\r\nbaseurl=http:\/\/nginx.org\/packages\/centos\/\"$releasever\"\/\"$basearch\"\/\r\ngpgcheck=0\r\nenabled=1\r\nEOF\r\n#### Install Nginx and pgsql\r\nyum -y update\r\nyum -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\r\nservice postgresql-9.3 initdb\r\nservice postgresql-9.3 start\r\nchkconfig postgresql-9.3 on\r\n\/etc\/init.d\/nginx start\r\nchkconfig nginx on\r\n\/etc\/init.d\/nginx stop\r\n#### Set Database Credentials and Create Database\r\nsu - -c \"psql\" postgres << EOF\r\nCREATE USER $db_user WITH PASSWORD '$db_password';\r\nCREATE DATABASE $db_name OWNER $db_user ENCODING 'UTF8';\r\nGRANT ALL PRIVILEGES ON DATABASE $db_name TO $db_user;\r\nEOF\r\n#### Apply PHP settings\r\nsed -i '\/post_max_size\/c\\post_max_size = 2G' \/etc\/php.ini\r\nsed -i '\/cgi.fix_pathinfo\/c\\cgi.fix_pathinfo = 0' \/etc\/php.ini\r\nsed -i '\/upload_max_filesize\/c\\upload_max_filesize = 2G' \/etc\/php.ini\r\nsed -i '\/date.timezone\/c\\date.timezone = \"UTC\"' \/etc\/php.ini\r\n#### Set NGINX and PGSQL settings\r\nchkconfig php-fpm on\r\n\/etc\/init.d\/php-fpm start\r\nsed -i '0,\/ident\/! {0,\/ident\/ s\/ident\/md5\/}' \/var\/lib\/pgsql\/9.3\/data\/pg_hba.conf\r\nsed -i '0,\/ident\/! {0,\/ident\/ s\/ident\/md5\/}' \/var\/lib\/pgsql\/9.3\/data\/pg_hba.conf\r\ncd \/etc\/nginx\r\nmkdir -p cert\r\ncd conf.d\r\ntouch oc.conf\r\ncat <<EOF >oc.conf\r\nupstream php-handler {\r\nserver 127.0.0.1:9000;\r\n#server unix:\/var\/run\/php5-fpm.sock;\r\n}\r\nserver {\r\nlisten 80;\r\nserver_name $ip_addr;\r\nreturn 301 https:\/\/$server_name$request_uri; # enforce https\r\n}\r\nserver {\r\nlisten 443 ssl;\r\nserver_name $ip_addr;\r\nssl_certificate \/etc\/nginx\/cert\/server.crt;\r\nssl_certificate_key \/etc\/nginx\/cert\/server.key;\r\n# Path to the root of your installation\r\nroot \/var\/www\/owncloud\/;\r\nclient_max_body_size 10G; # set max upload size\r\nfastcgi_buffers 64 4K;\r\nrewrite ^\/caldav(.*)$ \/remote.php\/caldav\\ redirect;\r\nrewrite ^\/carddav(.*)$ \/remote.php\/carddav\\ redirect;\r\nrewrite ^\/webdav(.*)$ \/remote.php\/webdav\\ redirect;\r\nindex index.php;\r\nerror_page 403 \/core\/templates\/403.php;\r\nerror_page 404 \/core\/templates\/404.php;\r\nlocation = \/robots.txt {\r\nallow all;\r\nlog_not_found off;\r\naccess_log off;\r\n}\r\nlocation ~ ^\/(data|config|\\.ht|db_structure\\.xml|README) {\r\ndeny all;\r\n}\r\nlocation \/ {\r\n# The following 2 rules are only needed with webfinger\r\nrewrite ^\/.well-known\/host-meta \/public.php?service=host-meta last;\r\nrewrite ^\/.well-known\/host-meta.json \/public.php?service=host-meta-json last;\r\nrewrite ^\/.well-known\/carddav \/remote.php\/carddav\/ redirect;\r\nrewrite ^\/.well-known\/caldav \/remote.php\/caldav\/ redirect;\r\nrewrite ^(\/core\/doc\/[^\\\/]+\/)$ \\\/index.html;\r\ntry_files $uri $uri\/ index.php;\r\n}\r\nlocation ~ ^(.+?\\.php)(\/.*)?$ {\r\ntry_files \\ = 404;\r\ninclude fastcgi_params;\r\nfastcgi_param SCRIPT_FILENAME $document_root\\;\r\nfastcgi_param PATH_INFO \\;\r\nfastcgi_param HTTPS on;\r\nfastcgi_pass php-handler;\r\n}\r\n# Optional: set long EXPIRES header on static assets\r\nlocation ~* ^.+\\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {\r\nexpires 30d;\r\n# Optional: Do not log access to assets\r\naccess_log off;\r\n}\r\n}\r\nEOF\r\n####Generate Self-signed SSl cert\r\ncd ..\r\ncd cert\r\nopenssl req -x509 -nodes -sha384 -days 3650 -newkey rsa:4096 -keyout server.key -out server.crt -subj \"\/\"\r\nchmod 600 server.key\r\nchmod 600 server.crt\r\n####Download and extract ownCloud software\r\ncd \/var\/www\r\nwget --no-check-certificate https:\/\/download.owncloud.org\/community\/owncloud-7.0.2.tar.bz2\r\ntar xjf owncloud-7.0.2.tar.bz2\r\nmkdir -p owncloud\/data\r\ntouch owncloud\/config\/autoconfig.php\r\ncat << EOF >> owncloud\/config\/autoconfig.php\r\n<?php\r\n$AUTOCONFIG = array(\r\n\"dbtype\" => \"pgsql\",\r\n\"dbname\" => \"$db_name\",\r\n\"dbuser\" => \"$db_user\",\r\n\"dbpass\" => \"$db_password\",\r\n\"dbhost\" => \"localhost\",\r\n\"dbtableprefix\" => \"\",\r\n\"directory\" => \"\/var\/www\/owncloud\/data\",\r\n);\r\nEOF\r\nchmod 770 owncloud\/data\r\nchmod 777 owncloud\/config\/\r\nchown -R root:apache owncloud\r\nrm -rf owncloud-7.0.2.tar.bz2\r\n\/etc\/init.d\/postgresql-9.3 restart\r\n\/etc\/init.d\/nginx start\r\n######Display generated passwords to log file.\r\necho \"Database Name: \" $db_name\r\necho \"Database User: \" $db_user\r\necho \"Database Password: \" $db_password\r\necho \"Visit your ownCloud at https:\/\/\"$ip_addr\r\n<\/code><\/pre>\n

After running the script, you will be able to access your ownCloud and create your admin account at\u00a0https:\/\/youripaddress<\/code>. The initial page will say you are using SQLite, but the server is already configured to properly use PGSQL. This is tested and working on a VM with 512MB of RAM, but you may want something slightly bigger or create a swap file for slightly better performance. The SSL certificate is self-signed, but can be replaced if you are so inclined. Do not forget to retrieve your database credentials (\u00a0tail \/tmp\/firstboot.log<\/code>\u00a0) and to remove that file once you have deployed.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","manualknowledgebasecat":[109,231,242],"manual_kb_tag":[372,373,374],"_links":{"self":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2623"}],"collection":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/comments?post=2623"}],"version-history":[{"count":2,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2623\/revisions"}],"predecessor-version":[{"id":2625,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/2623\/revisions\/2625"}],"wp:attachment":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/media?parent=2623"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manualknowledgebasecat?post=2623"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb_tag?post=2623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}