Monday, September 30, 2013

Migrating Drupal from Apache Webserver to Lighttpd Webserver

***This assumes that php php-cgi php-mysql php-gd mysql-server php-xml mysql are already installed***

***Install Lighttpd***

yum install lighttpd
yum install lighttpd-fastcgi

***Change the following lines in the lighttpd config file ( /etc/lighttpd/lighttpd.conf)***


var.server_root = "/var/www/html/drupal-7.23"  ***This will vary based off of your drupal folder location***

server.document-root = server_root

***Add the FastCgi server information to the lighttpd config file ( /etc/lighttpd/lighttpd.conf)***

fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket-0"
)))

***Change the Modules that are active on the lighttpd server ( /etc/lighttpd/modules.conf)***

modules.conf
  "mod_access",
#  "mod_alias",
#  "mod_auth",
#  "mod_evasive",
  "mod_redirect",
  "mod_rewrite",
  "mod_fastcgi",
#  "mod_setenv",
#  "mod_usertrack",
)

***Change the owner of the web root to the public user & group***

chown -R user:group /var/www/html/drupal-7.23

***Start the lighttpd server***

service lighttpd start




Monday, September 9, 2013

Installing MediaWiki on Amazon EC2 using lighttpd

AMAZON AWS STARTUP ROUTINE

yum update -y
yum install -y nano mlocate wget screen
chkconfig iptables off
service iptables stop

*********** commands to enable root and set password
sudo perl -i -pe 's/disable_root: 1/disable_root: 0/' /etc/cloud/cloud.cfg
sudo perl -i -pe 's/#PermitRootLogin .*/PermitRootLogin without-password/' /etc/ssh/sshd_config
sudo perl -i -pe 's/.*(ssh-rsa .*)/\1/' /root/.ssh/authorized_keys
sudo /etc/init.d/sshd reload
sudo passwd root


*********** commands to install webmin
cat > /etc/yum.repos.d/webmin.repo << EOF
[Webmin]
name=Webmin Distribution Neutral
enabled=1
EOF
yum install -y webmin


*********** commands to create swap file
dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
mkswap /var/swap.1
swapon /var/swap.1

# use webmin to modify the /etc/fstab file and add the following line:
echo "/var/swap.1 swap     swap    defaults         0 0" >> /etc/fstab


*********** set hostname
edit /etc/sysconfig/network
edit /etc/hosts
run hostname
restart networking /etc/init.d/network restart


  • Download Lighttpd
  • Download PHP
  • gzip -dc lighttpd-1.3.14.tar.gz | tar xf -
  • cd lighttpd-1.3.14
  • ./configure --prefix=/opt/lighttpd
  • make all install
  • cp doc/lighttpd.conf /etc/
  • cd ..
  • gzip -dc php-5.0.4.tar.gz | tar xf -
  • cd php-5.0.4
  • ./configure --enable-fastcgi --with-mysql=<path to MySQL installation> --prefix=/opt/php-fcgi
  • make all install
  • Edit /etc/lighttpd.conf as appropriate. You will need to add at least the following lines:
fastcgi.server = ( ".php" =>
                   ( "localhost" =>
                     (
                       "host" => "127.0.0.1",
                       "port" => 1026,
                       "bin-path" => "/opt/php-fcgi/bin/php-cgi"
                     )
                   )
                )

url.rewrite-once = (
                     "^/wiki/upload/(.+)" => "/wiki/upload/$1",
                     "^/$" => "/w/index.php",
                     "^/wiki/([^?]*)(?:\?(.*))?" => "/w/index.php?title=$1&$2"
                   )
If you use the static-file module, it will try to cache everything it can... including the PHP modules that are supposed to be executed instead. So in many cases you'll also need to add:
  static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
or at least:
  static-file.exclude-extensions = ( ".php" )
And if you also want to support "http://yoursite/ArticleName" URLs:
url.redirect = ( "^/(?!w|wiki|robots\.txt|favicon\.ico)(.*)" => "/wiki/$1" )
Ensure the "rewrite", "redirect" and "fastcgi" modules are enabled.
  • Extract the MediaWiki source into your document root, and mv mediawiki-1.5beta1 w
  • Start lighttpd: /opt/lighttpd/sbin/lighttpd -f /etc/lighttpd.conf
  • Visit "http://www.yoursite.com/w/config/index.php" and configure MediaWiki as documented at Manual:Installation guide
  • Edit LocalSettings.php and change $wgArticlePath to:
$wgArticlePath = "/wiki/$1";

NOW INSTALL MYSQL
yum install mysql-server mysql
Start MySQL and secure it
service mysqld start
mysql_secure_installation
Create a new database and wiki user to avoid using the root user:
 mysql -u root -p
 CREATE DATABASE database name;
For example only:
 CREATE DATABASE wikidatabase; 
To view if it was created:
 SHOW DATABASES;
Grant privileges:
 GRANT ALL PRIVILEGES ON *.* TO 'wiki'@'localhost' IDENTIFIED BY 'THISpasswordSHOULDbeCHANGED' WITH GRANT OPTION;
 exit
For example only:
 GRANT ALL PRIVILEGES ON wikidatabase.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'Pippo123456?' WITH GRANT OPTION;
 exit
Remember the 'wiki' password for MySQL that you create here. You will need it when setting up the wiki database. You can test it with:
 mysql -u wiki -p

 SHOW GRANTS;
Make sure MySQL starts on boot
chkconfig mysqld on

RESTART THE SERVICES
Sudo service lighttpd restart

Sudo service mysql restart