Для настройки виртуального хоста в ubuntu необходимо выполнить несколько шагов:
Допустим, имя папки вашего проекта myProject
Шаг 1. Поместите папку в / var / www / html
sudo mv ~/myProject /var/www/html/
Шаг 2: передать права собственности на папку проекта www-data
sudo chown -R www-data:www-data /var/www/html/myProject
Шаг 3: Создайте новый сайт внутри доступных сайтов:
cd /etc/apache2/sites-available/
ls
Здесь вы увидите существующие 000-default.conf и default-ssl.conf. Скопируйте содержимое обоих файлов в один файл и замените имя папки или скопируйте этот файл в новый файл с именем myProject.conf
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/myProject/
ServerName project.com
ServerAlias www.project.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/myProject/
ServerName project.com
ServerAlias www.project.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/mobidev_cert.pem
SSLCertificateKeyFile /etc/ssl/certs/mobidev_key.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
Включите также путь самозаверяющего сертификата, как показано, ssl-ключ и ssl-сертификат, которые можно легко загрузить.
Шаг 4: Добавьте ваш проект в файл конфигурации apache.
sudo vi /etc/apache2/apache2.conf
поместить эти строки в файл:
DocumentRoot "/var/www/html/myProject"
<Directory /var/www/html/myProject/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Шаг 5: Добавьте имя вашего виртуального сервера (указанное в myProject.conf) в файл хоста. Добавьте следующую строку:
sudo gedit /etc/hosts
127.0.1.1 project.com
Шаг 6: Теперь все готово, включить сайт, перезапустить apache
sudo a2ensite /etc/apache2/sites-availabl/myProject.conf
sudo systemctl reload apache2
sudo update-rc.d apache2 defaults
sudo update-rc.d mysql defaults
sudo a2enmod ssl
sudo a2ensite default-ssl
Просто нажмите project.com в своем браузере.