У меня есть экземпляр на Amazon AWS (сервер Ubuntu).
Я хочу создать поддомен для своего сайта: tools.example.com
для людей в офисе, в котором я работаю, и создавать инструменты (с использованием PHP), с которыми сотрудники могут работать. (например, веб-приложения для автоматизации кода).
Я сам никогда не создавал поддомен на сервере Linux (обычно я работал с хостинговыми компаниями с помощью cPanel ect ''), и я новичок в Amazon AWS, который я считаю очень крутым, и работаю с сервером Linux и делаю все сам по себе - Чрезвычайно круто!
Итак, я начал изучать, как создать поддомен на моем веб-сайте, и дошел до того, что знаю, что у меня есть 2 варианта, которые я точно не знаю, в чем разница между ними, что будет последствия для моей работы и т. д. ».
Первый вариант - создание поддомена с помощью Amazon Route53: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingNewSubdomain.html
и второй вариант, с которым я столкнулся, делал это с использованием самого сервера Ubuntu, например: https://askubuntu.com/questions/463618/setting-up-subdomain-on-ubuntu-server http://kim.sg/index.php/ubuntu/17-how-to-setup-subdomain-on-ubuntu-server-14-04
Некоторые вещи кажутся мне немного расплывчатыми, и я буду счастлив получить больше очков просветления от людей, которые знают немного больше о теоретических «вещах» и будут знать, что они помогут мне сделать лучший выбор для меня.
Пожалуйста, не стесняйтесь задавать мне вопросы.
для @Stefano Martins (28.10.2015):
Хорошо, я сделал это:
<VirtualHost *:80>
ServerName tools.example.com
ServerAdmin walid@example.com
ErrorLog /var/www/tools.example.com/logs/error.log
CustomLog /var/www/tools.example.com/logs/access.log combined
DocumentRoot /var/www/tools.example.com/public_html
</VirtualHost>
mkdir -p /var/www/tools.example.com/{public_html,logs}
sudo a2ensite tools.example.com.conf
sudo service apache2 reload
sudo find /var/www/tools.example.com/public_html -type d -exec chmod 755 {} \;
sudo find /var/www/tools.example.com/public_html -type f -exec chmod 644 {} \;
sudo adduser ubuntu www-data
sudo find /var/www/tools.example.com/public_html -type d -exec chmod 775 {} \;
sudo find /var/www/tools.example.com/public_html -type f -exec chmod 664 {} \;
Моя папка - это var
один, а не srv
. Я изменил все с srv на var, и теперь я больше не получаю ошибку 403. но теперь я не могу загрузить на /var/www/tools.example.com/public_html
через FTP.
ОБНОВИТЬ: я использовал sudo chown www-data:www-data -R /var/www/
это решило мою проблему.
Большое спасибо!
Для правильной работы поддомена вам нужны две вещи.
Запись DNS на сервере DNS. Эти записи должны быть созданы на серверах имен, которые вы настроили в своем голом домене (yourdomain.tld). Если вы уже используете Amazon Route53 для своего голого домена, это нормально, вы также можете использовать его для своего поддомена (Amazon Route53 - это просто служба хостинга DNS)
Виртуальный хост на веб-сервере.
Вот в чём дело с Amazon Web Services. У вас есть множество вариантов построения инфраструктуры, начиная с простой EBS (Elastic Beanstalk), которая обеспечивает простую в развертывании (также известную как «быстрый и грязный» способ) среду.
Другой вариант - использовать EC2 и построить его самостоятельно, и, поскольку вы выбрали именно этот путь, в основном вам нужно:
В своем Route 53 создайте CNAME или запись A, указывающую на IP-адрес вашего экземпляра (вы должны использовать эластичные IP-адреса, чтобы ваш экземпляр всегда получал один и тот же IP-адрес). Я бы предложил запись CNAME, потому что у вас уже есть запись A в вашей зоне. Это немного замедляет разрешение DNS, но с течением времени им легче управлять. Мы можем назвать это tools.example.com.
В каталоге конфигурации Apache (обычно / etc / apache2 / sites-available) создайте файл с именем tools.example.com.conf со следующим содержимым:
<VirtualHost *:80>
ServerName tools.example.com
ServerAdmin me@example.com
ErrorLog /srv/www/tools.example.com/logs/error.log
CustomLog /srv/www/tools.example.com/logs/access.log combined
DocumentRoot /srv/www/tools.example.com/public_html
</VirtualHost>
Создайте каталог, в котором будет храниться ваш сайт / приложение:
mkdir -p /srv/www/tools.example.com/{public_html,logs}
Включите новый виртуальный хост и перезагрузите службу Apache:
sudo a2ensite tools.example.com.conf
sudo service apache2 reload
Совет: в большинстве случаев использование инфраструктуры AWS и готовых решений обходится дешевле.
Примечание. По сути, это то, что вам нужно, но это не на 100% идеально для производственной среды.
Ця!