下面我来详细讲解“CentOS 7 下LAMP实现及基于https的虚拟化主机”的完整攻略。
一、CentOS 7 下LAMP实现
1. 安装Apache
- 执行以下命令安装Apache:
sudo yum install httpd
- 启动Apache服务:
sudo systemctl start httpd.service
- 设置Apache服务开机启动:
sudo systemctl enable httpd.service
至此,Apache服务就已经安装好并启动了。
2. 安装MySQL
- 执行以下命令安装MySQL:
sudo yum install mariadb-server mariadb
- 启动MySQL服务:
sudo systemctl start mariadb
- 设置MySQL服务开机启动:
sudo systemctl enable mariadb.service
- 设置MySQL数据库:
sudo mysql_secure_installation
按照提示设置数据库密码等信息即可。
3. 安装PHP
- 执行以下命令安装PHP:
sudo yum install php php-mysql
- 重启Apache服务:
sudo systemctl restart httpd.service
至此,LAMP环境就已经成功搭建好了,可以通过浏览器访问 http://localhost 来测试Apache是否正常运行。
二、基于https的虚拟化主机
1. 生成SSL证书
- 安装openssl:
sudo yum install openssl
- 生成私钥:
openssl genrsa -out yourdomain.key 2048
其中,yourdomain.key为私钥文件名。
- 生成证书签名请求:
openssl req -new -key yourdomain.key -out yourdomain.csr
其中,yourdomain.csr为证书签名请求文件名。
- 签发证书:
通过证书颁发机构(CA)签发证书,或自己签发证书。
自签证书命令:
openssl x509 -req -days 365 -in yourdomain.csr -signkey yourdomain.key -out yourdomain.crt
其中,yourdomain.crt为证书文件名,-days参数指定证书有效时间。
2. 配置Apache
- 编辑Apache配置文件:
sudo vi /etc/httpd/conf/httpd.conf
- 把以下两行注释打开:
LoadModule ssl_module modules/mod_ssl.so
Include conf.d/ssl.conf
- 配置虚拟主机:
在ssl.conf文件中,搜索到以下行:
DocumentRoot "/var/www/html"
ServerName www.example.com:443
把ServerName修改成你自己的域名,并修改DocumentRoot为你网站的根目录。
- 配置SSL:
在ssl.conf文件中,找到以下行:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
修改为你自己的证书文件路径和私钥文件路径。
- 重启Apache服务:
sudo systemctl restart httpd.service
至此,基于https的虚拟化主机就已经搭建好了。
示例
示例1:创建名为test的虚拟主机
- 创建test网站目录:
sudo mkdir /var/www/test
sudo chown -R apache:apache /var/www/test
- 编辑Apache配置文件:
sudo vi /etc/httpd/conf/httpd.conf
- 添加以下配置:
<VirtualHost *:443>
DocumentRoot /var/www/test
ServerName test.example.com
ErrorLog /var/log/httpd/test-error.log
CustomLog /var/log/httpd/test-access.log common
SSLEngine on
SSLCertificateFile /path/to/yourdomain.crt
SSLCertificateKeyFile /path/to/yourdomain.key
</VirtualHost>
-
保存并退出。
-
重启Apache服务:
sudo systemctl restart httpd.service
现在,可以通过 https://test.example.com 来访问test网站了。
示例2:创建名为blog的虚拟主机
- 创建blog网站目录:
sudo mkdir /var/www/blog
sudo chown -R apache:apache /var/www/blog
- 编辑Apache配置文件:
sudo vi /etc/httpd/conf/httpd.conf
- 添加以下配置:
<VirtualHost *:443>
DocumentRoot /var/www/blog
ServerName blog.example.com
ErrorLog /var/log/httpd/blog-error.log
CustomLog /var/log/httpd/blog-access.log common
SSLEngine on
SSLCertificateFile /path/to/yourdomain.crt
SSLCertificateKeyFile /path/to/yourdomain.key
</VirtualHost>
-
保存并退出。
-
重启Apache服务:
sudo systemctl restart httpd.service
现在,可以通过 https://blog.example.com 来访问blog网站了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS 7 下LAMP实现及基于https的虚拟化主机 - Python技术站