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
Nginx - How to Block or Redire...
I've been figuring out how to block or redirect web traffic in Nginx based on the country geoIP. NOTES* You need the package nginx-extras for this because this...
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...
The Hunt For the Ultimate Free...
I've been a hard-core Untangle fan for several years now, but I recently wanted to explore other firewall options. Being wrapped around a commercial product, U...
The Hunt For the Ultimate Free...
My aged Netgear NAS was primed and ready for a relaxing retirement, so I pursued a befitting upgrade. I briefly considered an out-of-the-box NAS offering from ...