Japanatron Logo

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

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...

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...

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...

Ubuntu 22.04 Nginx Build Outli...

I re-built my LEMP web-server fresh on Ubuntu 22.04 and learned some things along the way. This is my base build outline mostly created for my own notes. INS...