У меня есть VPS с установленным apache2, и я хотел бы получить доступ к некоторым проектам PHP без доменного имени только с IP-адресом. Например:
http://162.243.93.216/projecta/index.php
http://162.243.93.216/projectb/index.php
У меня есть другие проекты с доменом, например example.com, в моем каталоге / var / www /
/html/
info.php
/projecta/
/projectb/
/example/
Когда я иду в
http://162.243.93.216/info.php then /var/www/html/info.php is opened.
Мой файл 000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
" http://162.243.93.216/info.php then /var/www/html/info.php is opened "
Я предполагаю, что это уже работает (Если нет, раскомментируйте ServerAlias
линия показанная в конфе ниже)
Теперь вы хотите на карту
http://162.243.93.216/projecta/
в /var/www/projecta
http://162.243.93.216/projectb/
в /var/www/projectb
Для этого вам нужно использовать Apache Alias
директивы.
000-default.conf
подать в:<VirtualHost *:80>
# ServerAlias 162.243.93.216
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Alias /projecta /var/www/projecta
Alias /projectb /var/www/projectb
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Создайте новый файл виртуального хоста и настройте его следующим образом:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerAlias 192.168.1.1
DocumentRoot /somewhere/public_html
<Directory /somewhere/public_html/>
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride Authconfig FileInfo
Require all granted
</Directory>
</VirtualHost>
добавьте servralias, и он также распознает IP-адрес …
если вы хотите добавить больше IP-адресов (например, второй интерфейс локальной сети), вы можете добавить больше строк serveralias …
Шаг шестой — настройка файла локальных хостов (необязательно)
Если вы использовали примеры доменов вместо реальных доменов для проверки этой процедуры, вы все равно можете проверить работоспособность ваших виртуальных хостов, временно изменив файл hosts на вашем «ЛОКАЛЬНОМ КОМПЬЮТЕРЕ». Это будет перехватывать любые запросы для доменов, которые вы настроили, и направлять их на ваш VPS-сервер, как это делала бы система DNS, если вы использовали зарегистрированные домены. Это будет работать только с «ВАШЕГО КОМПЬЮТЕРА» и просто полезно для целей тестирования.
Примечание. Убедитесь, что вы выполняете эти шаги на локальном компьютере, а не на своем VPS-сервере. Вам понадобится доступ к административным учетным данным для этого компьютера.
Если вы работаете на компьютере Mac или Linux, отредактируйте локальный файл hosts с правами администратора, введя:
sudo vi / etc / hosts
Если вы работаете с Windows, вы можете найти инструкции по изменению вашего хост-файла здесь.
Детали, которые вам нужно добавить, это публичный IP-адрес вашего VPS, за которым следует домен, который вы хотите использовать для доступа к этому VPS:
127.0.0.1 localhost
127.0.1.1 guest-desktop
server_ip_address example.com
server_ip_address example2.com