# Connecting to the VirtualBox VDI Username root Passowrd Sparrow123 # Setup from scratch on Centos7 # Set hostname and basic system changes hostnamectl set-hostname sparrow.local cat < /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted EOT echo "dhclient" >> /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local reboot yum update -y yum install epel-release vim htop curl subversion net-tools -y yum update -y # PostgreSQL yum install postgresql postgresql-server postgresql-contrib postgresql-libs -y systemctl enable postgresql.service service postgresql initdb systemctl start postgresql su - postgres psql ALTER USER postgres WITH PASSWORD 'smARt123'; \q exit cat < /var/lib/pgsql/data/pg_hba.conf local all all peer host all all 127.0.0.1/32 md5 host all all ::1/128 md5 EOT systemctl restart postgresql #PHP yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y yum install yum-utils -y yum-config-manager --enable remi-php74 yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-bcmath php-ldap php-zip php-pear php-devel php-fileinfo php-pgsql php-fpm php-mbstring -y systemctl enable php-fpm.service cat < /etc/php-fpm.d/www.conf [www] user = nginx group = nginx listen = /var/run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660 listen.allowed_clients = 127.0.0.1 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 slowlog = /var/log/php-fpm/www-slow.log php_admin_value[error_log] = /var/log/php-fpm/www-error.log php_admin_flag[log_errors] = on ;php_admin_value[memory_limit] = 128M php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/session EOT yum install nginx -y systemctl enable nginx mkdir -p /var/www/smart/html/public mkdir -p /var/www/smart/logs mkdir -p /repo/raw mkdir -p /repo/resources mkdir -p /repo/unpacked cat < /var/www/smart/html/public/info.php EOT mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig cat << 'EOT' > /etc/nginx/nginx.conf user nginx; worker_processes auto; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 500M; include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/conf.d/*.conf; server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /var/www/smart/html/public; access_log /var/www/smart/logs/access_log; error_log /var/www/smart/logs/error_log error; include /etc/nginx/default.d/*.conf; location / { try_files $uri $uri/ $uri.php$is_args$query_string; } index index.php index.html index.htm; location ~ \.(php|phar)(/.*)?$ { fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_intercept_errors on; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; try_files $uri =404; } rewrite /resource/([A-Za-z0-9-]+)(?:\?(.*))? /app/resource.php?guid=$1&$2 last; rewrite /player/([A-Za-z0-9-]+)/play(\?(.+))?$ /modules/lms/player.php?packageId=$1&$2 last; rewrite /player/([A-Za-z0-9-]+)/activities?$ /modules/lms/activity-tree.php?packageId=$1 last; rewrite /repo/([A-Za-z0-9-]+)/([^?]*)(?:\?(.*))? /modules/lms/repo.php?packageId=$1&file=$2&$3 last; rewrite /test/([A-Za-z0-9-]+)/play(\?(.+))? /modules/lms/test-player.php?testId=$1&$2 last; rewrite /test/([A-Za-z0-9-]+)/Data(\?(.+))?$ /modules/lms/test-data.php?testId=$1&$2 last; error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } } EOT chown -R nginx:nginx /var/www/smart/ chown -R nginx:nginx /var/lib/php/session/ chown -R nginx:nginx /repo/ firewall-cmd --add-service=http --permanent firewall-cmd --reload systemctl restart nginx systemctl restart php-fpm