For more information, refer to the blog post at https://www.apachefriends.org/blog/new_xampp_20170628.html.
.To install XAMPP-VM, just do the following:
You should see the XAMPP-VM stack manager, as shown below:
XAMPP-VM ships MariaDB instead of MySQL. The commands and tools are the same for both.
To start XAMPP-VM:
To stop XAMPP-VM, click the "Stop" button in the "General" tab of the stack manager. Once the status icon turns red, close the stack manager window.
Yes. When you start the XAMPP-VM virtual machine, XAMPP services will also automatically start. You can navigate to the "Services" tab of the stack manager at any time to stop, start, restart or check the status of individual services.
Verify that you have enabled port forwarding (from port 80 of the stack to port 8080 of the host system) in the "Network" tab of the stack manager and type the following URL in a web browser:
http://localhost:8080
You should see the XAMPP-VM start page, as shown below.
XAMPP-VM is not meant for production use but only for development environments. The way XAMPP-VM is configured is to be open as possible to allow 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-VM:
/opt/lampp/lampp security
This error can exist for multiple reasons. Apache displays this error under several circumstances. To find the exact reason, you have to do some research:
tail -2 /opt/lampp/logs/error_log
If you get any error messages visit our community pages for help.
In the default installation, XAMPP-VM has no passwords set and it is not recommended to run XAMPP-VM with this configuration accessible by others.To make the installation more secure:
tail -2 /opt/lampp/logs/error_log
XAMPP: Quick security check...
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...
XAMPP: Starting MySQL...
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the passworde somewhere down to make sure you won't forget it!!!
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Setting new MySQL root password.
XAMPP: Setting phpMyAdmin's root password to the new one.
XAMPP: The FTP password for user 'nobody' is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Reload ProFTPD...
XAMPP: Done.
After calling this command, your XAMPP-VM installation should be more secure.
To activate eAccelerator for PHP:
;extension="eaccelerator.so"
;eaccelerator.shm_size="16"
;eaccelerator.cache_dir="/opt/lampp/tmp/eaccelerator"
;eaccelerator.enable="1"
;eaccelerator.optimizer="1"
;eaccelerator.check_mtime="1"
;eaccelerator.debug="0"
;eaccelerator.filter=""
;eaccelerator.shm_max="0"
;eaccelerator.shm_ttl="0"
;eaccelerator.shm_prune_period="0"
;eaccelerator.shm_only="0"
;eaccelerator.compress="1"
;eaccelerator.compress_level="9"
The extension should now be active.For more information about eAccelerator, check the eAccelerator home page: http://eaccelerator.net.
To activate the OCI8/Oracle extension for PHP:
/opt/lampp/lampp oci8
Please enter the path to your Oracle or Instant Client installation:
installing symlinks...
patching php.ini...
OCI8 add-on activation likely successful.
LAMPP: Stopping Apache with SSL...
LAMPP: Starting Apache with SSL...
The extension should now be active.
To copy files from the host system to the XAMPP-VM Apache server document root, follow these steps:
To access phpMyAdmin from the host system, follow these steps:
If you see an "Access denied" error, ensure that your phpMyAdmin configuration correctly reflects your MySQL credentials.
In the basic configuration of XAMPP-VM, phpMyAdmin is accessible only from the host system via a secure tunnel, at http://127.0.0.1:8080/phpmyadmin or http://localhost:8080/phpmyadmin.
IMPORTANT: Enabling external access for phpMyAdmin in production environments is a significant security risk. You are strongly advised to only allow access from localhost. A remote attacker could take advantage of any existing vulnerability for executing code or for modifying your data.
To enable remote access to phpMyAdmin, follow these steps:
Alias /phpmyadmin "/opt/lampp/phpmyadmin/"
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig
Require local
Alias /phpmyadmin "/opt/lampp/phpmyadmin/"
<Directory "/opt/lampp/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
To install a new Bitnami add-on for XAMPP-VM, follow these steps:
cd /opt/lampp/temp
chmod +x ./INSTALLER_FILENAME.sh
./INSTALLER_FILENAME.sh
This will start the installer in text mode, as shown below:
You should now be able to access the add-on through your browser. For example, to access WordPress, browse to http://localhost:8080/wordpress.
The XAMPP-VM virtual machine files and logs are stored within your home directory on the OS X host, in the ~/.bitnami/stackman/machines/xampp/vm and ~/.bitnami/stackman/machines/xampp/log directories respectively.
The main XAMPP configuration files are located as follows:
To send email with XAMPP, use the PEAR Mail and Net_SMTP packages, which allow you to send email using an external SMTP account (such as a Gmail account). Follow these steps:
pear install Net_SMTP Mail
Note that if these packages are already installed in your system you see the messages below when executing that command:
Ignoring installed package pear/Net_SMTP
Ignoring installed package pear/Mail
Nothing to install
<?php
require_once "Mail.php";
$from = "[email protected]";
$to = '[email protected]';
$host = "ssl://smtp.gmail.com";
$port = "465";
$username = '[email protected]';
$password = 'your-gmail-password';
$subject = "test";
$body = "test";
$headers = array ('From' => $from, 'To' => $to,'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo($mail->getMessage());
} else {
echo("Message successfully sent!\n");
}
?>
Remember to replace the dummy values shown with your actual Gmail address and account password. If you don't plan to use Gmail's SMTP server, replace the SMTP host details with appropriate values for your organization or ISP's SMTP server.
WARNING: The backup and restore functionality is still under development and may not work correctly.
You can create the backup as follows:
/opt/lampp/lampp backup
/opt/lampp/lampp backup secret
Backing up databases...
Backing up configuration, log and htdocs files...
Calculating checksums...
Building final backup file...
Backup finished.
Take care of /Applications/XAMPP/xamppfiles/backup/xampp-backup-22-01-14.sh
To restore the backup on a new system, you need the same version of XAMPP-VM as on your original/source system. Follow these steps to restore the backup:
./xampp-backup-22-01-14.sh
Checking integrity of files...
Restoring configuration, log and htdocs files...
Checking versions...
Installed: XAMPP 1.4.2
Backup from: XAMPP 1.4.2
Restoring MySQL databases...
Restoring MySQL user databases...
Backup complete. Have fun!
You may need to restart XAMPP to complete the restore
To uninstall XAMPP-VM, follow these steps: