os_software:os:windows:lamp_setup

LAMP setup

Tested on openSUSE Recommended articles Related articles

  12.3
  13.1 

This page will describe the steps you have to take to install LAMP, which stands for Linux Apache MariaDB PHP. This page will show you, how to set up a working Apache2 webserver, a configured MariaDB database server, to install PHP5, working with Apache, and finally, phpMyAdmin with a configured pmadb database.

Contents

  1 Getting root access
  2 Setting up Apache2
      2.1 Installing Apache2
      2.2 Starting Apache2
      2.3 Testing the installation
      2.4 Enabling public access to the web server
  3 Setting up PHP5
      3.1 Installing PHP5
      3.2 Restarting the webserver
      3.3 Testing the installation
  4 Setting up MariaDB
      4.1 Installing MariaDB
      4.2 Starting the MariaDB server
      4.3 Configuring the MariaDB/MySql server
      4.4 Logging in to the client
  5 Installing phpMyAdmin
      5.1 What is phpMyAdmin?
      5.2 Installing phpMyAdmin
      5.3 Logging into phpMyAdmin
      5.4 Configuring phpMyAdmin

This article is updated to reflect the installation in openSUSE 13.1. However it it does not deviate much from lower versions of openSUSE. Getting root access

Every time you want to change anything to the system, you will need root access. You can get this by:

  Open a command line program (konsole is the standard one).
  Type
  su -

The console will now ask you for the password you selected at the installation, enter that password and press enter again. If you logged in successfully, the user name and the computer name should be displayed in red now.

To install software, make sure that you have root access. We will install our software using YaST from the command line.

  Open a console.
  To install apache, we use the command
  yast -i apache2
  or
  zypper in apache2
  . 

This also installs the packet apache2-example-pages, which provides an example page when accessing the web server.

To start Apache, execute

  systemctl start apache2.service

Note: If you ever want to restart apache, execute

  systemctl restart apache2.service

or if you want to stop it

  systemctl stop apache2.service

This does not start the apache server after a reboot. To enable that, give the command

  systemctl enable apache2.service

Now that you have installed apache2, you want to check if it works. The packet apache2-example-pages installed the file /srv/www/htdocs/index.html, which contains:

  <html><body><h1>It works!</h1></body></html>

Note: You can create a new file and edit it by using your favorite editor.

You can now start your favorite browser. Navigate to 'localhost'. You should see 'It works!'. Enabling public access to the web server

In this state the web server is only accessible as localhost. You have to open port http (=80) in the firewall. You can do that using YaST, selecting Security and Users –> Firewall –> Allowed services and add HTTP server. You may also edit the line with FW_CONFIGURATIONS_EXT= in it in the file /etc/sysconfig/SuSEfirewall2 and add apache2 in that line. A space is used in that line to separate elements. After editing you have to restart the firewall using:

  systemctl restart SuSEfirewall2.service

To install software, you need root access. When you have root access, execute

  yast -i php5 php5-mysql apache2-mod_php5
  or
  zypper in php5 php5-mysql apache2-mod_php5

Now you have installed PHP5. Restarting the webserver Now that you have installed PHP5, you have to restart the apache2 webserver to get some results. You can restart apache by executing

  systemctl restart apache2.service

with root access.

That was pretty easy, but now you want to test it out, don't you? So, we go to the htdocs folder again by executing

  cd /srv/www/htdocs

Make a new file named index.php and with the following content:

  <?php echo "<h1>You succesfully installed PHP5!</h>" ?>

Now, open your favorite browser again and navigate to 'localhost/index.php'. If everything went alright then you should see 'You successfully installed PHP5!'.

We need to install mariadb and mariadb-tools, mariadb-tools is necessary for the administration, execute

  yast -i mariadb mariadb-tools
  or
  zypper in mariadb mariadb-tools

with root access. Starting the MariaDB server

MariaDB is an alternative package for MySQL, so further on the name mysql is used. To start the MariaDB server, execute

  systemctl start mysql.service

You may want to read the messages issued by the server in /var/log/messages.

Note: If you ever want to restart mysql, execute

  systemctl restart mysql.service

or if you want to stop it

  systemctl stop mysql.service

This does not start the mysql server after a reboot. To enable that, give the command

  systemctl enable mysql.service

==== Configuring the MariaDB/MySql server ====

To set the root password for the first time:

  Execute
  mysqladmin -u root password NEWPASSWORD
      If you want to set the password to root123, type
      mysqladmin -u root password root123

If you ever want to change your password later:

  Type
  mysqladmin -u root -p password NEWPASSWORD
  Your old password will be asked. 

Logging in to the client Now you can log in into the server client by executing

  mysql -u root -p
  Enter
  exit

to go back to the terminal.

What is phpMyAdmin?

phpMyAdmin, or pma is a tool to administrate your databases. The installation process is quite easy.

Install phpMyAdmin by executing

  yast -i phpMyAdmin
  or
  zypper in phpMyAdmin

This also installs a number of needed php5 modules and restarts the apache2 server.

To log in to phpMyAdmin:

  Navigate to localhost/phpMyAdmin
  Enter the root username and the root password of your mysql server
  Click on the 'go' button 

==== Configuring phpMyAdmin ====

To configure phpMyAdmin, we need to edit the configuration file. It is found in /etc/phpMyAdmin/config.inc.php.

Open the file and change corresponding lines to (note the double underscore in the names of the tables):

  $cfg['Servers'][$i]['controluser'] = 'somename';
  $cfg['Servers'][$i]['controlpass'] = 'somepassword';
  /*Advanced phpMyAdmin features */
  $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
  $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
  $cfg['Servers'][$i]['relation'] = 'pma__relation';
  $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
  $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
  $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
  $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
  $cfg['Servers'][$i]['history'] = 'pma__history';
  $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
  $cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';

You will need to change the user name of controluser to the name of a new account (above somename) and controlpass (above somepassword) to it's password. Change the protection of this file so it is owned by root and only readable by group www.

  chown root:www /etc/phpMyAdmin/config.inc.php
  chmod 640 /etc/phpMyAdmin/config.inc.php

Log in to localhost/phpMyAdmin again. Import via the Import tab on the phpMyAdmin page the file /usr/share/doc/packages/phpMyAdmin/example/create_tables.sql There is a comment telling you that a user pma should be present already, however this is not necessary. Log in and out again using user name root and the root password of MySQL. Select the tab Users and press Add user. Enter as new user name the name of controluser chosen above, localhost as host, twice the above chosen password in the corresponding fields and press Go (below right). Create a file with the following content, where somename and somepassword are replaced by the above chosen values.

  GRANT USAGE ON mysql.* TO 'somename'@'localhost' IDENTIFIED BY 'somepassword';
  GRANT SELECT (
    Host, User, 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
   ) ON mysql.user TO 'someuser'@'localhost';
   GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
     ON mysql.tables_priv TO 'pmagebruiker'@'localhost';
   GRANT SELECT ON mysql.db TO 'someuser'@'localhost';
   GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'someuser'@'localhost';

and import that file via the Import tab.

Read the documentation on phpMyAdmin on the phpMyAdmin website. Do not forget to take the necessary security measures. You should have a working LAMP server now!

  • os_software/os/windows/lamp_setup.txt
  • Zuletzt geändert: 2018/09/14 23:42
  • von 127.0.0.1