LAMP Server

Contents

[ hide ]

    LAMP is short for Linux, Apache, MySQL, PHP. This tutorial shows how you can install an Apache2 webserver on a blackPanther OS v9.x-10.x server with PHP5 support (mod_php) and MySQL support.

    I do not issue any guarantee that this will work for you!

    1 Preliminary Note

    In this tutorial I use the hostname server1.example.com with the IP address 192.168.0.100. These settings might differ for you, so you have to replace them where appropriate.

    2 Installing MySQL 5

    First we update our package database:

    updating repos

    To install MySQL, we do this:

    installing  mysql  mysql-client

    If networking is not enabled in MySQL package. We need change this by commenting out the line skip-networking in /etc/my.cnf:

    mcedit /etc/my.cnf
    [1]
    
    
    1. Don't listen on a TCP/IP port at all. This can be a security enhancement,
    2. if all processes that need to connect to mysqld run on the same host.
    3. All interaction with mysqld must be made via Unix sockets or named pipes.
    4. Note that using this option without enabling named pipes on Windows
    5. (via the "enable-named-pipe" option) will render mysqld useless!
    6. skip-networking
    [2]

    Afterwards, we start MySQL:

    service mysqld start

    Now check that networking is enabled. Run

    netstat -tap | grep mysql

    The output should look like this:

    [3]# netstat -tap | grep mysql
    tcp        0      0 *:mysql                     *:*                         LISTEN      2515/mysqld
    tcp        0      0 *:mysql-im                  *:*                         LISTEN      2505/mysqlmanager
    [4]#

    Next, run

    mysqladmin -u root password your_database_password
    mysqladmin -h server1.example.com -u root password your_database_password

    to set a password for the user root (otherwise anybody can access your MySQL database!).

    3 Installing Apache2

    Apache2 is available as a blackPanther OS package, therefore we can install it like this:

    installing apache-mpm-prefork

    Now start Apache:

    service httpd start

    Now direct your browser to http://192.168.0.100, and you should see the Apache2 placeholder page

    Apache’s default document root is /var/www/html on blackPanther OS, and the configuration file is /etc/httpd/conf/httpd.conf. Additional configurations are stored in the /etc/httpd/conf.d/ directory.

    4 Installing PHP5

    We can install PHP5 and the Apache PHP5 module as follows:

    installing apache-mod_php
    then
    service httpd restart

    5 Testing PHP5 / Getting Details About Your PHP5 Installation

    The document root of the default web site is /var/www/html. We will now create a small PHP file (info.php) in that directory and call it in a browser. The file will display lots of useful details about our PHP installation, such as the installed PHP version.

    touch /var/www/html/info.php

    then

    mcedit /var/www/html/info.php
    <?php
    phpinfo();
    ?>

    Now we call that file in a browser (e.g. http://192.168.0.100/info.php)

    As you see, PHP5 is working, and it’s working through the Apache 2.0 Handler, as shown in the Server API line. If you scroll further down, you will see all modules that are already enabled in PHP5. MySQL is not listed there which means we don’t have MySQL support in PHP5 yet.

    6 Getting MySQL Support In PHP5

    To get MySQL support in PHP, we can install the php-mysql package.

    installing php-mysql

    It’s a good idea to install some other PHP5 modules as well as you might need them for your applications. You can search for available PHP5 modules like this:

    urpmq --list -f| grep php-

    or simple list:

    urpmq --list | grep php-

    Pick the ones you need and install them like this:

    installing php-mysql php-mysqli php-bz2 php-calendar php-ctype php-curl php-devel php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-ming php-newt php-odbc php-oggvorbis php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-suhosin php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php-ini

    Now restart Apache2:

    service httpd restart

    Now reload http://192.168.0.100/info.php in your browser and scroll down to the modules section again. You should now find lots of new modules there, including the MySQL module…

    Optional for managing MySQL:

    phpMyAdmin

    phpMyAdmin is a web interface through which you can manage your MySQL databases.

    phpMyAdmin can be installed as follows:

    installing phpmyadmin

    Afterwards, you can access phpMyAdmin under http://192.168.0.100/phpmyadmin/

    This page is a Wiki! Log in or register an account to edit.
    admin

    About admin