The following is a task outline for building an Ubuntu-based web-server to run Joomla and JomSocial. I created this for my own notes, so apologies if it's a bit cryptic.
Ubuntu server
- minimum install
- choose LAMP & SSH server during install
- static IP address
Install packages
- php5-curl
- php5-xmlrpc
- ffmpeg
- flvtool2
- unzip
- zip
- phpmyadmin
- wget
- nano (optional)
- webmin (optional)
Create DNS entries / zones (if necessary)
Apache
- enable rewrite module
- enable PHP module
- allow override for site (.htaccess) in the site directives (under the site's virtual server config)
SSL
- enable Apache SSL module (global config)
- listen on port 443
- change default server root to /var/www (document options)
- generate a certificate using Webmin and set Apache to use the self-generated certificate (for now)
- modify /etc/apache2/ports.conf to allow SSL on named virtual hosts
PHPMyAdmin
- don't configure it for Apache during the install
- create a virtual host on a custom port to /usr/share/phpmyadmin
- add the listening port under Apache networking
Joomla
- set file / folder permissions
- set owner to www-data
- set Joomla email settings - use ISP's SMTP server if you don't want to run mail services on the web-server
- verify the file / folder permissions using a tool like Akeeba Admin Tools or RSFirewall
JomSocial
- setup JomSocial cron job - wget -O /dev/null "http://www.domain.com/index.php?option=com_community&task=cron" > /dev/null
- php.ini (/etc/php5/apache) configuration changes as suggested in JomSocial documentation
max_execution_time = 9000 ; Maximum execution time of each script, in seconds
max_input_time = 9000 ; Maximum amount of time each script may spend parsing request data
memory_limit = 1024M ; Maximum amount of memory a script may consume
post_max_size = 4096M ; Maximum size of POST data that PHP will accept.
upload_max_filesize = 4096M ; Maximum allowed size for uploaded files.
PHP Security
- set expose_php to OFF in php.ini
Related Articles
UnRAID - Backing Up Using Rsyn...
PRE-REQUISITES- Rsync plugin- User Scripts plugin (if you want to schedule the jobs)- Unassigned Devices pluginRSYNC TO UNASSIGNED BACKUP DRIVEI often configure...
How to Spot an iPhone Unlock S...
While Apple technically calls it "iPhone IMEI database whitelisting," it's better known around the web as a factory unlock--a process that allows your iPhone to...
FreeNAS - Bi-Directional Rsync...
Go to /root on 1st server. ssh root@server1 cd /root FreeNAS OS drive is mounted read-only, so mount it RW. mount -o rw / Generate an RSA key & leave the ...
KVM - Enable Direct PCI Pass-T...
This example was done on Ubuntu server.* Enable VM direct I/O in the BIOS.* Open /etc/default/grub using an editor like nano or something.* Find GRUB_CMDLINE_LI...