DevOps

Как создать поддомен на Apache-сервере

Проверим состояние HTTP-сервера Apache:
$ service apache2 status


Создадим папки для веб-сайтов:
$ sudo mkdir -p /var/www/example.com/public_html
$ sudo chown -R $USER:$USER /var/www/example.com/public_html

$ sudo mkdir -p /var/www/subdomain.example.com/public_html

$ sudo chown -R $USER:$USER /var/www/subdomain.example.com/public_html


 

Установим права drwxr-xr-x на папку /var/www:

$ sudo chmod -R 755 /var/www



Добавим файлов:
$ nano /var/www/example.com/public_html/index.html

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The example.com virtual host is working!</h1>
  </body>
</html>

 

$ nano /var/www/subdomain.example.com/public_html/index.html

<html>
  <head>
    <title>Welcome to Subdomain.example.com!</title>
  </head>
  <body>
    <h1>Success! The subdomain.example.com virtual host is working!</h1>
  </body>
</html>


 

Создадим виртуальные хосты:
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

$ sudo nano /etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>


$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/subdomain.example.com.conf

$ sudo nano /etc/apache2/sites-available/subdomain.example.com.conf

<VirtualHost *:80>
    ServerAdmin admin@subdomain.example.com
    ServerName subdomain.example.com
    ServerAlias www.subdomain.example.com
    DocumentRoot /var/www/subdomain.example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>


$ sudo a2ensite example.com.conf
$ sudo a2ensite subdomain.example.com.conf

$ sudo service apache2 restart

 

И наконец отредактируем файл /etc/hosts:

$ sudo nano /etc/hosts

127.0.0.1   localhost

127.0.1.1   guest-desktop

111.111.111.111 example.com

111.111.111.111 subdomain.example.com

 

И самое главное, в настройках хостинга нужно прописать А-запись. Внутри настроек example.com создать А-запись для subdomain.example.com.

Обновление DNS происходит в течении 8-24 часов.

 

 

NS-сервера firstbyte:
185.104.248.26    -    ns1.firstbytedns.net
185.104.248.27    -    ns2.firstbytedns.net    
185.180.230.222    -    ns3.firstbytedns.net


Источники:
https://linuxize.com/post/how-to-set-up-apache-virtual-hosts-on-ubuntu-18-04/
https://devtype.blogspot.com/2017/05/Kak-sozdat-poddomen-na-Apache-servere.html

Leave a reply