Installing Lighttpd With PHP5 And MySQL Support On OpenSUSE 10.3
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Last edited 10/08/2007
Lighttpd is a secure, fast, standards-compliant web server designed for speed-critical environments. This tutorial shows how you can install Lighttpd on an OpenSUSE 10.3 server with PHP5 support (through FastCGI) 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.0
First we install MySQL 5.0 like this:
yast2 -i mysql mysql-client
Then we create the system startup links for MySQL (so that MySQL starts automatically whenever the system boots) and start the MySQL server:
If you don't see a line like this, edit /etc/my.cnf, comment out the option skip-networking:
vi /etc/my.cnf
[...]
#skip-networking
[...]
and restart your MySQL server:
/etc/init.d/mysql restart
Run
mysqladmin -u root password yourrootsqlpassword
to set a password for the user root@localhost.
As you've seen in the netstat output, MySQL is not only listening on localhost, but on all interfaces, which means it can be accessed from the outside. Therefore we need to set a password for the user root@server1.example.com as well. But there's one little problem: most likely the Host column in the mysql.user table doesn't contain server1.example.com, but server1. We will change that now, and afterwards we will set a MySQL password for the user root@server1.example.com.
Let's connect to MySQL:
mysql -u root -p
Type in the password for the MySQL root user. Then, on the MySQL shell, do this:
mysql> USE mysql;
mysql> SELECT * FROM user;
The output could look like this:
+-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections |
+-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| localhost | root | *5172022923C5A97E5A842DA249B93473314416D5 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
| server1 | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
| 127.0.0.1 | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
+-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
3 rows in set (0.00 sec)
As you see, in the second row, it reads server1 instead of server1.example.com in the Host column. Let's replace that with server1.example.com:
mysql> UPDATE user SET Host = 'server1.example.com' WHERE Host = 'server1';
mysql> FLUSH PRIVILEGES;
We can leave the MySQL shell now:
mysql> quit;
Now back on the normal shell, we can set the MySQL password for the user root@server1.example.com:
Now direct your browser to http://192.168.0.100, and you should see that Lighttpd delivers a page (well, it's a 404 page because there's no index file in Lighttpd's document root, but at least this means that Lighttpd is working ok):
Lighttpd's default document root is /srv/www/htdocs on OpenSUSE, and the configuration file is /etc/lighttpd/lighttpd.conf.
Please do not use the comment function to ask for help! If you need help, please use our forum. Comments will be published after administrator approval.
Recent comments
1 day 4 hours ago
1 day 4 hours ago
1 day 9 hours ago
1 day 16 hours ago
1 day 16 hours ago
1 day 18 hours ago
1 day 22 hours ago
2 days 5 hours ago
2 days 9 hours ago
2 days 10 hours ago