SlideShare a Scribd company logo
ITS3 Installation of Drupal  on CentOS Miriam Segondat
Introduction: As part fullfillment for the award of a BSc in Information Technology Support, I am required to complete an individual project. I have chosen to install a Drupal CentOS client and server on a LAMP server. I choose Drupal as it is a widely used content management system and I wanted to learn more about it.
What is Drupal ? Drupal is a open source software package distributed under the GPL (“General Public Licence”). It allows individual or community users to publish, manage and organise a wide variety of content on a website.
Benefits of the Drupal  Content Management System –   Drupal is wildly popular because it provides a powerful, scalable, low cost, high value solution to manage and grow an internet presence.  Drupal is open source.  Drupal is supported by a passionate community of thousands of developers who continuously work to enhance the functionality and security of Drupal to enterprise levels and beyond..
How is Drupal installed ? The following shows a summary of the installation process that will be documented in this presentation. System Requirements  Download Drupal  Grant write permissions on the configuration file Create the database  Run the install script  Set up cron  Create a “files” directory for uploads
Web Server Apache   Drupal will work on Apache 1.3 or Apache 2.x hosted on UNIX/Linux, OS X, or Windows. The majority of Drupal development and deployment is done on Apache so there is more community experience and testing performed. Drupal is being developed to be web server independent. Drupal core files alone will take up approximately 2 to 3 MB uncompressed.
Web Server Php The php version used for this project is  5.1.6 PHP memory of 16 MB or higher for a default Drupal 6 installation. Depending on the site's use of custom or contributed modules,  PHP memory limit  may  need to be increased beyond 16 MB .
Database server   The database server used in this project is MySql
What is CentOS ? CentOS is a Linux distribution built off the open-source, free packages prepared for Red Hat Enterprise Linux.  CentOS delivers the same level of security support through software updates, product lifetime and performance of other enterprise Linux solutions.  CentOS delivers the same access to industry standard software including full compatibility with software packages prepared specifically for Red Hat Enterprise Linux systems.
  Installation of the operating system CentOS.  Follow the instructions from the main screen below to  complete installation.
Configure the LAMP server LAMP stands for Linux Apache MySQL and PHP. The installation process is documented in the next few slides.
Install Apache 2.2 using the yum command # yum install httpd Once Apache is installed, make sure it starts the next time you boot Linux. # chkconfig httpd on To determine whether the  chkconfig  command worked, use the  --list  switch: # chkconfig --list httpd Apache starts and stops with the following commands: # apachectl stop # apachectl start or # service httpd start # service httpd stop
If Apache installation is successful, the default Apache Web page screen should appear like the screen below :
eLinks A text-based browser called  elinks  is then installed with the following command: # yum install elinks Start the  elinks  browser, pointing to the local system, with the following command: # elinks 127.0.0.1
PHP and MySQL PHP and MySQL is then installed as follows: #  yum install php # yum install mysql-server mysql # apachectl stop # apachectl start # service mysqld start
Next set up a team in VMware, using a CentOS client and a CentOS server, on the configured LAMP server. Power on the team. Put both onto the same LAN.
Testing the Server Test out the Apache server from the server by typing the following command: root@localhost # elinks type  http:// localhost  in the url bar If you can see the contents of the index.php file in the html directory, it means Apache is working. An example of what it should look like can be seen below.
index.php file
Testing the Client Open up a browser in Firefox with  http://192.168.0.10 . Again the contents of the index.php file should be displayed. To turn off the firewall type the following: root@localhost # service iptables stop Now the network adapter needs to be changed to bridged Reboot the system
DHCP On the server type system-config-network and then press F12. A screen like the one below should appear.  Tab down to “Use DHCP” and press the space bar to place an * there, then press ok. Tab down to quit and press ok. Change the network adapter to bridged and reboot.
Installation of Drupal Packages #yum install httpd mod_ssl  #php php-gd  #php-mbstring  #php-mysql  #mysql-server
Install Drupal Drupal is installed from the drupal website  www.drupal.org . version 6.10. Follow the instructions to complete the installation process in the server. Type   wget  http://ftp.drupal.org/files/projects/drupal-6.10.tar.gz   followed by  tar -zxvf drupal-6.10.tar.gz   to unzip the files. This will create a new directory drupal-6.10 which contains all the drupal files and directories. Now the contents of this directory are moved into the html directory with the following command. mv drupal-6.10/* drupal-6.10/.htaccess /var/www/html
The MV command
Permissions To continue the server must be given back its static is address so again from the root directory type  system-config-network. Press F12 and manually insert the static ip address 192.168.0.10 as well as changing the network adapter back to LAN. Next copy the default.settings.php file into the settings.php file in the /var/www/html/sites/default directory and give it full permissions (chmod 777 settings.php).  In the same directory create a sub-directory called files. This will allow for uploading files to the website and we can give full permissions as well.
copy the default.settings.php file into the settings.php file
Next open up elinks from the server and type in  http://localhost . The following page is displayed:
Next open up the firefox browser in the client and type  http://192.168.0.10  and press enter.
Click on each of the following to  complete installation : Choose language Verify requirements Set up database Install site Configure site Finished
Set up the database
Create the database in the server .  Firstly type in the command service mysqld start to start mysql.  Then setup a password for root using the following command mysqladmin –u root –p password login to mysql mysql –u root –p Finally create the database using the command CREATE DATABASE drupal_devdb CHARACTER SET ‘utf8’
Create the database in the server
Back to the Drupal Configuration   Next go to the browser and continue the drupal configuration Clicking on set up a database.  Enter in the same username, database and password.  Change the write permissions on the settings.php file by going to the server and doing a chmod 555.
Back at the browser the name and email details are entered: On scrolling down the page the remaining details are filled in then saved.
Theme Using the administrator tab the website was customised to change the theme to garland then some content was added.
Error Reporting shows the default error that will be displayed if a page is not found or access is denied.
Security Features : The  status report  shows how the various applications have been set up and are functioning correctly.
 
PERMISSIONS: In the default file a chmod 555 settings.php command changes back the write permissions on the php file.
CRON: Cron  is configured as per diagram below. Cron is important in Drupal as checks for updates as well as routing maintenance tasks at specific intervals.
IPTABLES: The following command was added to the  iptables  to prevent having to turn off iptables everytime at boot up. With regard to security, it only allows tcp traffic through the firewall on port 80. root@localhost # cd /etc/sysconfig root@localhost sysconfig # vi iptables press insert type in the following line before the first –A RH rule -A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
IPTABLES:

More Related Content

Its3 Drupal

  • 1. ITS3 Installation of Drupal on CentOS Miriam Segondat
  • 2. Introduction: As part fullfillment for the award of a BSc in Information Technology Support, I am required to complete an individual project. I have chosen to install a Drupal CentOS client and server on a LAMP server. I choose Drupal as it is a widely used content management system and I wanted to learn more about it.
  • 3. What is Drupal ? Drupal is a open source software package distributed under the GPL (“General Public Licence”). It allows individual or community users to publish, manage and organise a wide variety of content on a website.
  • 4. Benefits of the Drupal Content Management System – Drupal is wildly popular because it provides a powerful, scalable, low cost, high value solution to manage and grow an internet presence. Drupal is open source. Drupal is supported by a passionate community of thousands of developers who continuously work to enhance the functionality and security of Drupal to enterprise levels and beyond..
  • 5. How is Drupal installed ? The following shows a summary of the installation process that will be documented in this presentation. System Requirements Download Drupal Grant write permissions on the configuration file Create the database Run the install script Set up cron Create a “files” directory for uploads
  • 6. Web Server Apache Drupal will work on Apache 1.3 or Apache 2.x hosted on UNIX/Linux, OS X, or Windows. The majority of Drupal development and deployment is done on Apache so there is more community experience and testing performed. Drupal is being developed to be web server independent. Drupal core files alone will take up approximately 2 to 3 MB uncompressed.
  • 7. Web Server Php The php version used for this project is 5.1.6 PHP memory of 16 MB or higher for a default Drupal 6 installation. Depending on the site's use of custom or contributed modules, PHP memory limit may need to be increased beyond 16 MB .
  • 8. Database server The database server used in this project is MySql
  • 9. What is CentOS ? CentOS is a Linux distribution built off the open-source, free packages prepared for Red Hat Enterprise Linux. CentOS delivers the same level of security support through software updates, product lifetime and performance of other enterprise Linux solutions. CentOS delivers the same access to industry standard software including full compatibility with software packages prepared specifically for Red Hat Enterprise Linux systems.
  • 10. Installation of the operating system CentOS. Follow the instructions from the main screen below to complete installation.
  • 11. Configure the LAMP server LAMP stands for Linux Apache MySQL and PHP. The installation process is documented in the next few slides.
  • 12. Install Apache 2.2 using the yum command # yum install httpd Once Apache is installed, make sure it starts the next time you boot Linux. # chkconfig httpd on To determine whether the chkconfig command worked, use the --list switch: # chkconfig --list httpd Apache starts and stops with the following commands: # apachectl stop # apachectl start or # service httpd start # service httpd stop
  • 13. If Apache installation is successful, the default Apache Web page screen should appear like the screen below :
  • 14. eLinks A text-based browser called elinks is then installed with the following command: # yum install elinks Start the elinks browser, pointing to the local system, with the following command: # elinks 127.0.0.1
  • 15. PHP and MySQL PHP and MySQL is then installed as follows: # yum install php # yum install mysql-server mysql # apachectl stop # apachectl start # service mysqld start
  • 16. Next set up a team in VMware, using a CentOS client and a CentOS server, on the configured LAMP server. Power on the team. Put both onto the same LAN.
  • 17. Testing the Server Test out the Apache server from the server by typing the following command: root@localhost # elinks type http:// localhost in the url bar If you can see the contents of the index.php file in the html directory, it means Apache is working. An example of what it should look like can be seen below.
  • 19. Testing the Client Open up a browser in Firefox with http://192.168.0.10 . Again the contents of the index.php file should be displayed. To turn off the firewall type the following: root@localhost # service iptables stop Now the network adapter needs to be changed to bridged Reboot the system
  • 20. DHCP On the server type system-config-network and then press F12. A screen like the one below should appear. Tab down to “Use DHCP” and press the space bar to place an * there, then press ok. Tab down to quit and press ok. Change the network adapter to bridged and reboot.
  • 21. Installation of Drupal Packages #yum install httpd mod_ssl #php php-gd #php-mbstring #php-mysql #mysql-server
  • 22. Install Drupal Drupal is installed from the drupal website www.drupal.org . version 6.10. Follow the instructions to complete the installation process in the server. Type wget http://ftp.drupal.org/files/projects/drupal-6.10.tar.gz followed by tar -zxvf drupal-6.10.tar.gz to unzip the files. This will create a new directory drupal-6.10 which contains all the drupal files and directories. Now the contents of this directory are moved into the html directory with the following command. mv drupal-6.10/* drupal-6.10/.htaccess /var/www/html
  • 24. Permissions To continue the server must be given back its static is address so again from the root directory type system-config-network. Press F12 and manually insert the static ip address 192.168.0.10 as well as changing the network adapter back to LAN. Next copy the default.settings.php file into the settings.php file in the /var/www/html/sites/default directory and give it full permissions (chmod 777 settings.php). In the same directory create a sub-directory called files. This will allow for uploading files to the website and we can give full permissions as well.
  • 25. copy the default.settings.php file into the settings.php file
  • 26. Next open up elinks from the server and type in http://localhost . The following page is displayed:
  • 27. Next open up the firefox browser in the client and type http://192.168.0.10 and press enter.
  • 28. Click on each of the following to complete installation : Choose language Verify requirements Set up database Install site Configure site Finished
  • 29. Set up the database
  • 30. Create the database in the server . Firstly type in the command service mysqld start to start mysql. Then setup a password for root using the following command mysqladmin –u root –p password login to mysql mysql –u root –p Finally create the database using the command CREATE DATABASE drupal_devdb CHARACTER SET ‘utf8’
  • 31. Create the database in the server
  • 32. Back to the Drupal Configuration Next go to the browser and continue the drupal configuration Clicking on set up a database. Enter in the same username, database and password. Change the write permissions on the settings.php file by going to the server and doing a chmod 555.
  • 33. Back at the browser the name and email details are entered: On scrolling down the page the remaining details are filled in then saved.
  • 34. Theme Using the administrator tab the website was customised to change the theme to garland then some content was added.
  • 35. Error Reporting shows the default error that will be displayed if a page is not found or access is denied.
  • 36. Security Features : The status report shows how the various applications have been set up and are functioning correctly.
  • 37.  
  • 38. PERMISSIONS: In the default file a chmod 555 settings.php command changes back the write permissions on the php file.
  • 39. CRON: Cron is configured as per diagram below. Cron is important in Drupal as checks for updates as well as routing maintenance tasks at specific intervals.
  • 40. IPTABLES: The following command was added to the iptables to prevent having to turn off iptables everytime at boot up. With regard to security, it only allows tcp traffic through the firewall on port 80. root@localhost # cd /etc/sysconfig root@localhost sysconfig # vi iptables press insert type in the following line before the first –A RH rule -A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 80 -j ACCEPT