在Ubuntu上设置虚拟主机需要遵循以下几个步骤:
假设您的项目文件夹名为myProject。
步骤1:将您的文件夹放置在/var/www/html内。
sudo mv ~/myProject /var/www/html/
步骤二:将项目文件夹的所有权转移给www-data用户。
sudo chown -R www-data:www-data /var/www/html/myProject
步骤三:在“可用站点”中创建新站点。
cd /etc/apache2/sites-available/
ls
在这里,您将看到现有的000-default.conf和default-ssl.conf文件。将两个文件的内容复制到一个文件中,并替换您的文件夹名称或将其复制到名为myProject.conf的新文件中
<VirtualHost *:80>
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>
步骤五:将你在 myProject.conf 中指定的虚拟服务器名称添加到 host 文件中。添加以下行:
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即可。