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
Adding iTunes to Joomla Stalke...
The Joomla extension Stalker is awesome, but oddly enough it doesn't have iTunes as one of the default available networks. If you're using the component, you c...
How to Look at Internet Porn
In the course of my IT career, I can't tell you how many times some guy has brought a computer to me saying, "I dunno what happened. It seems to have a ...
Nginx - Blocking Access to Joo...
I propose blocking all access to Joomla's administrator login page and front-end user login (if you don't use it) because I constantly see a-hole bots in my log...
Elastix PBX - Voicemail Disabl...
I ran a yum update process on my Elastix PBX, updating all the packages. The update process completed without error; however, voicemail was disabled on all use...