Решил дополнить немного эту статью.
Скачав и разархивировав файлы Lampp, теперь нужно проделать некоторые действия.
Нужно добавить кое-что в файл httpd-xampp.conf
:
sudo gedit /opt/lampp/etc/extra/httpd-xampp.conf
в фрагменте кода, описывающем доступ к phpmyadmin:
# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
# вставить вот это:
AllowOverride AuthConfig Limit
Order allow,deny
Allow from 192.168.0.0/24
</Directory>
Это для того, чтобы получить доступ к phpmyadmin, который сразу недоступен согласно «New XAMPP security concept«.
Чтобы достучаться по сети к админке хоста с Lampp еще необходимо подредактировать запись:
<LocationMatch "^/(?i:(?:xampp|licenses|phpmyadmin|webalizer|server-status|server-info))">
# вставить вот это:
Order allow,deny
Allow from 192.168.0.0/24
# или, чтобы открыть доступ только для IP:
Allow from 10.1.1.12
ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var
вариант для открытия доступа из всех диапазонов для локальных подсетей:
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
<RequireAny>
Require ip ::1 127.0.0.0/8 \
fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
fe80::/10 169.254.0.0/16
</RequireAny>
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Или так:
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
fe80::/10 169.254.0.0/16
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Теперь о виртуальных хостах.
Чтобы создать виртуальный хост, скажем new_site, нужно:
1. В файле httpd.conf
раскомментировать строку Include etc/extra/httpd-vhosts.conf
sudo gedit /opt/lampp/etc/httpd.conf
2. В файле /opt/lampp/etc/extra/httpd-vhosts.conf
добавить такое содержимое:
<VirtualHost *:80>
ServerAdmin admin@usefree.com.ua
DocumentRoot "/home/usefree/new_site"
# /home/usefree/new_site - каталог, куда положим файлы сайта
ServerName new_site
<Directory /home/usefree/new_site>
AllowOverride All
Options All
Require all granted
</Directory>
</VirtualHost>
# то что ниже - чтобы остался доступ к странице по-умолчанию localhost
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /opt/lampp/htdocs
ServerName localhost
ServerAlias localhost
</VirtualHost>
3. В файле /etc/hosts
добавить запись:
127.0.0.1 new_site
Чтобы запретить доступ всем подряд к phpmyadmin, нужно зайти в http;//localhost/phpmyadmin и выполнить запрос:
SET PASSWORD FOR root@localhost = PASSWORD('yourpassword');
А затем в файле: /opt/lampp/phpmyadmin/config.inc.php
отредактировать блок кода, вставив метод аутентификации, например cookie
:
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
Про ошибки.
Если возникают ошибки о том, что запущен другой web-сервер, то необходимо его найти и остановить, для чего или остановить сервис апаче, если запущен:
/etc/init.d/apache2 stop
или удалить файл блокировки, созданный предыдущим запуском апаче:
rm -rf /opt/lampp/logs/httpd.pid
или, если предыдущие способы не помогли — искать, что слушает порт 80 и убивать:
lsof -Pi | grep 80
Если в выдаче есть что-то — то убить.