Linux部署LAMP
一、准备工作:
1、软件:
Xshell、Xftp用于连接云服务器和进行文件传输。 进去填写邮箱,他会给你发个邮件,通过邮件获得下载链接,通过下载链接下载Xshell和Xftp。
2、硬件:
1、云服务器 使用阿里云。进去直接购买 轻量应用服务器 1核2G 地域选择距离较近的距离就好,镜像类型选择系统镜像,系统镜像选择CentOS 版本任意,数据盘40G够用不需要加。
2、注册域名并解析 在阿里云域名注册,选择自己喜欢的域名进行购买。购买完成到阿里云域名控制台,对域名进行实名认证。然后打开刚才买的云服务器控制台,在域名中添加刚才购买的域名,添加两个,一个是带www的,一个是不带的。然后进行后面的域名备案,备案过程可能会等几天,这几天你只能通过ip去访问你的网站 ,因为要等实名认证在工信部获得认证后才可以进行网站备案。
二、配置apahce
apache的基础信息(找不到目录的时候看一下)
#主配置目录: /etc/httpd/conf
#主配置文件: /etc/httpd/conf/httpd.conf
#子配置目录: /etc/httpd/conf.d/
#子配置文件: /etc/httpd/conf.d/*.conf
#默认发布目录: /var/www/html
#默认发布文件: index.html
#默认端口: 80
#默认安全上下文:httpd_sys_content_t
#程序开启默认用户: apache
#apache日志: /etc/httpd/logs/*
/var/www/html ##apache的/目录,默认发布目录
/var/www/html/index.html ##apache的默认发布文件
vim /var/www/html/index.html
<h1> hello world </h1>
:wq

1、在阿里云服务器控制台中的远程连接中的第三项账号密码设置连接中设置连接密码。
2、用Xshell新建一个会话,主机填写你的服务器外网ip,通过你刚才设置的密码去连接你的服务器。
3、连接到服务器后输入指令。
$ yum install -y update
$ yum install -y httpd
$ yum install httpd -y
$ yum install httpd-manual
$ systemctl start httpd
$ systemctl enable httpd
4、在阿里云服务器防火墙中开放安全组端口TCP 80。
5、修改默认发布文件(可选配置) 默认发布文件就是访问apache时没有指定文件名称时默认访问的文件,这个文件可以指定多个,有访问顺序。
$ vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex index.html test.html #优先访问前面的index,index不存在访问test。
6、修改默认发布目录(可选配置)
vim /root/www/index.html
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/www/html" ##注释掉后添加以下
DocumentRoot "/root/www"
121 <Directory "/root/www">
122 Require all granted #授权所有
123 </Directory>
修改完发布目录,再次访问页面会显示Forbidden,原因是你修改的目录apache没有访问权限,所以你设置的目录的所有目录权限至少为755,因为我们设置的目录是在root下的,所以这里我们chmod 755 /root。
7、apache支持的语言 1、html 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。 2.php PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。
三、配置php
这里我们使用PHP。 首先安装PHP:
$ yum install php -y
$ systemctl restart httpd
编写PHP主页:
$ vim /etc/httpd/conf/httpd.conf
$ vim /var/www/html/index.php
<?php
phpinfo();
?>
$ systemctl restart httpd
改完后这个样子: 
四、配置https
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。
阿里云中有免费的SSL证书,我们直接申请下来用就可以了。 在SSL证书管理控制台中申请免费证书,然后按步骤来就可以了,域名所有权验证自动配置就好。 申请完成后,把证书下载下来,解压后有三个文件一个key,两个crt。
开始进行配置:
- 开放安全组端口TCP 443
- 安装mod_ssl.so模块 #yum install -y mod_ssl
- 在/etc/httpd/目录下新建cert目录,并将解压的Apache证书、证书链文件和密钥文件拷贝到cert目录中。如果需要安装多个证书,需在Apache目录中新建对应数量的cert目录,用于存放不同的证书 。
- 修改/etc/httpd/conf.d/ssl.conf文件
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com:443。
DocumentRoot #修改为你的发布目录
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name1_public.crt # 将domain name1_public.crt替换成您证书文件名。
SSLCertificateKeyFile cert/domain name1.key # 将domain name1.key替换成您证书的密钥文件名。
SSLCertificateChainFile cert/domain name1_chain.crt # 将domain name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。
</VirtualHost>
#如果证书包含多个域名,复制以上参数,并将ServerName替换成第二个域名。
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的第二个域名www.YourDomainName2.com:443。
DocumentRoot #修改为你的发布目录
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name2_public.crt # 将domain name2替换成您申请证书时的第二个域名。
SSLCertificateKeyFile cert/domain name2.key # 将domain name2替换成您申请证书时的第二个域名。
SSLCertificateChainFile cert/domain name2_chain.crt # 将domain name2替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。
</VirtualHost>
以后要修改发布目录别忘了这里的发布目录也要改。
五、配置mysql
安装mysql
yum install mysql-community-server
systemctl start/restart mysqld
systemctl enable mysqld
配置账户
cat /var/log/mysqld.log | grep password
mysql -u root -p 然后输入密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
update user set host= '%' where user = 'root';
create DATABASE wordpress;
六、配置wordpress
$ yum intall -y wordpress
$ cd /usr/share/wordpress
$ ln -snf /etc/wordpress/wp-config.php wp-config.php
$ mkdir /root/www/homepage/wp-blog
$ mv * /root/www/homepage/wp-blog
$ vim /root/www/homepage/wp-blog wp-config.php
替换下面的值
* database_name_here:为之前步骤中创建的数据库名称
* username_here:为数据库的用户名
* password_here:为数据库的登录密码,即为安装mysql时我们设置的密码
特别注意:mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式客户端不支持;客户端支持的是mysql_native_password 这种加密方式; 因此我们要修改服务端的加密方式为mysql_native_password,客户端才能连接上。 方法是在mysql中输入一下语句:
mysql>ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
mysql>flush privileges;
默认的wordpress是英文的,点击下面下载中文版,解压后把wp-content中的language文件夹移动到自己的wordpress的content文件夹下重启服务就可以了。 中文wordpress:https://cn.wordpress.org/download/releases/
|