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 - Creating and Mounting...
Here's how to create and mount an encrypted unassigned device in UnRAID. 1) Make sure the unassigned devices plugin is installed in UnRAID. :-) 2) Wipe the de...
Joomla Running on Nginx and Ub...
What follows is an outline I compiled while building an Ubuntu server for running the Joomla CMS on the Nginx web server. NOTE: Ubuntu 14.04 LTS was used for th...
The Hunt for the Ultimate Blue...
I'm obsessed with bluetooth. So much so that I've been hunting for heaven's own pair of bluetooth headphones for my Tokyo subway commutes. I'm already on my 5...
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...