Local Test Server

1. XAMPP

https://www.apachefriends.org/faq_linux.html

1.1. Step 1: Download

https://www.apachefriends.org/download.html


Simply click on one of the links below. It's a good idea to get the latest version.


A complete list of downloads (older versions) is available at SourceForge.

1.2. Step 2: Installation

After downloading simply type in the following commands:


Go to a Linux shell and login as the system administrator root:

su

Change the permissions to the installer

chmod 755 xampp-linux-x64-7.1.8-0-installer.run

Run the installer

./xampp-linux-x64-7.1.8-0-installer.run

XAMPP Installer


That's all. XAMPP is now installed below the /opt/lampp directory.

1.3. Step 3: Start

To start XAMPP simply call this command:


/opt/lampp/lampp start


You should now see something like this on your screen:


Starting XAMPP 7.1.8...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.


Ready. Apache and MySQL are running.


If you get any error messages please take a look at the Linux FAQ.

1.4. Step 4: Test

OK, that was easy but how can you check that everything really works? Just type in the following URL at your favourite web browser:


http://localhost


Now you should see the start page of XAMPP containing some links to check the status of the installed software and some small programming examples.

1.5. A matter of security (A MUST READ!)

As mentioned before, XAMPP is not meant for production use but only for developers in a development environment. The way XAMPP is configured is to be open as possible and allowing the developer anything he/she wants. For development environments this is great but in a production environment it could be fatal.


Here a list of missing security in XAMPP:


  1. The MySQL administrator (root) has no password.
  2. The MySQL daemon is accessible via network.
  3. ProFTPD uses the password "lampp" for user "daemon".
  4. PhpMyAdmin is accessible via network.
  5. Examples are accessible via network.
  6. MySQL is running under "mysql".
  7. Apache is running under "daemon".

To fix most of the security weaknesses simply call the following command:


/opt/lampp/lampp security


It starts a small security check and makes your XAMPP installation quite secure. For example this protects the XAMPP demo pages by a username ('lampp') and password combination.

1.6. Advanced start and stop parameters


START AND STOP PARAMETERS


Parameter Description
start Starts XAMPP.
stop Stops XAMPP.
restart Stops and starts XAMPP.
startapache Starts only the Apache.
startssl Starts the Apache SSL support. This command activates the SSL support permanently, e.g. if you restarts XAMPP in the future SSL will stay activated.
startmysql Starts only the MySQL database.
startftp Starts the ProFTPD server. Via FTP you can upload files for your web server (user "nobody", password "lampp"). This command activates the ProFTPD permanently, e.g. if you restarts XAMPP in the future FTP will stay activated.
stopapache Stops the Apache.
stopssl Stops the Apache SSL support. This command deactivates the SSL support permanently, e.g. if you restarts XAMPP in the future SSL will stay deactivated.
stopmysql Stops the MySQL database.
stopftp Stops the ProFTPD server. This command deactivates the ProFTPD permanently, e.g. if you restarts XAMPP in the future FTP will stay deactivated.
security Starts a small security check programm.

For example: To start Apache with SSL support simply type in the following command (as root):


/opt/lampp/lampp startssl


You can also access your Apache server via SSL under https://localhost.

1.7. What is where?

What is where? A big question of our existens, here are some answers! ;)


IMPORTANT FILES AND DIRECTORIES


File/Directory Purpose
/opt/lampp/bin/ The XAMPP commands home. /opt/lampp/bin/mysql calls for example the MySQL monitor.
/opt/lampp/htdocs/ The Apache DocumentRoot directory.
/opt/lampp/etc/httpd.conf The Apache configuration file.
/opt/lampp/etc/my.cnf The MySQL configuration file.
/opt/lampp/etc/php.ini The PHP configuration file.
/opt/lampp/etc/proftpd.conf The ProFTPD configuration file.
/opt/lampp/phpmyadmin/config.inc.phpThe phpMyAdmin configuration file.
/opt/lampp/logs/php_error_log The PHP error log file.

1.8. Setting SQL_MODE

Strict mode


sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

1.9. Stopping XAMPP

To stop XAMPP simply call this command:


/opt/lampp/lampp stop


You should now see:

Stopping LAMPP 1.8.2...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stopped.

And XAMPP for Linux is stopped.

1.10. Uninstall

To uninstall XAMPP just type in this command:


rm -rf /opt/lampp

1.11. Create a symbolic link to htdocs

Create a symbolic link between a directory which you have read and write permissions in with htdocs.


sudo ln -s /home/USERNAME/workspace/project /opt/lampp/htdocs
and enter root password when prompted.

1.12. Create a shortcut link to manager-linux-x64.run

KDE:

kdesu /opt/lampp/manager-linux-x64.run

XAMPP desktop file configuration


XAMPP control panel

2. Open Suse Linux standard applications


To run a local test server on Open SuSE Linux 42.2 64-bit edition the following standard applications have to be installed:


  • MySQL MariaDB (default database)
  • php7 and mysql support for php7
  • Apache2 web server (default webserver)
  • phpMyAdmin (gui for access to MySQL MariaDB)

2.1. Step 1: Preparation


Got all the latest security updates?


sudo zypper update

Changing the default localhost folder
Consider to create a user-defined folder for your server document (easier backup, to prevent loss of data in case of a new installation or OS upgrade). By default, apache will operate on the “/srv/www” folder. The documents in this folder will be visible from the URL http://localhost.


For most of the preparation and installation you will need root shell access. Go to a Linux shell and login as the system administrator root:

su
or use
sudo
before each command.

To create a /www folder and a subfolder /www/htdocs for your webserver call this command:

mkdir -p /home/$USER/ www/htdocs

Setting user-defined permissions
If your server documents are in /home/$USER/www/htdocs directory run


sudo chown -R www-data:www-data /home/$USER/www/htdocs

to give ownership of the DocumentRoot folder to the user www-data and group www-data.


Then you can add yourself to the group www-data


sudo adduser $USER www-data

Finally, you need to make the DocumentRoot folder writable by owner (www-data user) and to your self (as part of the www-data group):


sudo chmod -R 775 /home/$USER/www/htdocs

Install http Server wizard
This wizard will help you configure your apache document root later:


sudo zypper install yast2-http-server

2.2. Step 2: Installation

The MariaDB MySQL database can be installed by using zypper. Type the below command:

zypper install mariadb

To make your database access more secure call this command:

/usr/bin/mysql_secure_installation

and follow the instructions.


The Apache web server can be installed by typing:

zypper install apache2

To install PHP7 and MySQL support for php7 copy and paste the following command:


zypper install apache2-mod_php7 php7 php7-gd php7-ftp php7-mysql php7-pear php7-gettext php7-mbstring php7-mcrypt php7-odbc php7-openssl php7-sockets php7-xmlrpc php7-fastcgi

Download phpMyAdmin and untar to your DocumentRoot (e.g. /home/$USER/www/htdocs)


tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz /home/$USER/www/htdocs

2.3. Step 3: Running

Start MySQL server:


/usr/sbin/rcmysql start

Check if it is running:


/usr/sbin/rcmysql status

Start Apache server:


/usr/sbin/rcapache2 start

Check if it is running:


/usr/sbin/rcapache2 status

Check which version of php5 is running:


php -v

You might also want to confirm PHP works by starting up your favorite text-editor (for example kwrite or gedit) and copy/paste the code below into it.



<?php 
  phpinfo
(); 
?>

2.4. Uninstall

Stop apache and mysql:


/usr/sbin/rcapache2 stop ; /usr/sbin/rcmysql stop

Uninstall apache2, mysql, php5. Be carefull! Only uninstall the following:


zypper rm apache2-mod_php7 php7 php7-gd php7-ftp php7-mysql php7-pear php7-gettext php7-mbstring php7-mcrypt php7-odbc php7-openssl php7-sockets php7-xmlrpc php7-fastcgi

2.5. Links

3. Nginx

  1. https://bitnami.com/stack/nginx
  2. https://wiki.bitnami.com/Infra[..]/Bitnami_Nginx_Stack

Show Files (3 files)