View source for Local Test Server

{{toc numerate=1}}

===XAMPP===
XAMPP is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use.

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

====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 ((https://sourceforge.net/projects/xampp/files/ SourceForge)).

====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-8.3.4-0-installer.run%%

  Run the installer

  %%./xampp-linux-x64-8.3.4-0-installer.run%%

file:/xampp_installer.png

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

%%(info type="note" title="Problem starting XAMPP in OpenSUSE")
The error message about netstat occurs because openSUSE has removed it from the net-tools package. It should go away if you install the package ##net-tools-deprecated##. [[https://community.apachefriends.org/f/viewtopic.php?f=17&t=83113 note]]

XAMPP: Starting Apache...fail.
httpd: Syntax error on line 522 of /opt/lampp/etc/httpd.conf: Syntax error on line 6 of /opt/lampp/etc/extra/httpd-xampp.conf: Cannot load modules/mod_perl.so into server: libnsl.so.1: cannot open shared object file: No such file or directory

Additionally you need to install the package ##libnsl1## manually to solve the issue.
%%
====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 for Linux 8.3.4-0...
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.

====Step 4: Test====
OK, that was easy but how can you check that everything really works? Just type in the following URL at your favorite 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.

====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.
  1. The MySQL daemon is accessible via network.
  1. ProFTPD uses the password "lampp" for user "daemon".
  1. PhpMyAdmin is accessible via network.
  1. Examples are accessible via network.
  1. MySQL is running under "mysql".
  1. 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. 

====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/.

====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.php|The phpMyAdmin configuration file. ||
|| /opt/lampp/logs/php_error_log | The PHP error log file. ||
||#

====Setting SQL_MODE====
((/Dev/Guidelines/SQL/SQLmodes Strict mode))

##my.cnf##
%%
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
%%

====Enable GD and Intl extension on Windows====
On XAMPP for Windows the GD and Intl extension are disabled by default, however WackoWiki requires both extensions. 

  1. Open ##php.ini## file (e.g. ##C:\xampp\php\php.ini##).
  1. Search for ##;extension=gd## and ##;extension=intl##.
  1. Remove ##;## from both then restart the Apache server.

====Stopping XAMPP====
To stop XAMPP simply call this command:

%%/opt/lampp/lampp stop%%

You should now see:
%%
Stopping XAMPP for Linux 8.3.4-0...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stopped.
%%
And XAMPP for Linux is stopped.

====Uninstall====
To uninstall XAMPP just type in this command:
keeping htdocs and databases
%% ./uninstall %%
or entirely
%%rm -rf /opt/lampp%%

====Enable or Disable Mode Rewrite====
##httpd.conf## (/opt/lampp/etc/httpd.conf)

ON
%% LoadModule rewrite_module modules/mod_rewrite.so %%
OFF
%% #LoadModule rewrite_module modules/mod_rewrite.so %%

====Setting Up Virtual Hosts====
##~http://wiki/##
##~http://wiki.localhost/##
-> ((!/SettingUpVirtualHosts Running more than one web site on a single machine))

====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/git/project /opt/lampp/htdocs%% and enter root password when prompted. 

Or use drag and drop in your favorite file manager to create a symbolic link.  

====Create a shortcut link to manager-linux-x64.run====
KDE: %% kdesu /opt/lampp/manager-linux-x64.run %%
file:kdesu_xampp.png

file:xampp_controlpanel.png

===openSUSE===

  * ((https://doc.opensuse.org/documentation/leap/reference/html/book-opensuse-reference/cha-apache2.html Apache configuration))
  * ((https://en.opensuse.org/SDB:LAMP_setup LAMP setup))