什么是lamp?
lamp可以理解为Linux+Apache+MySQL+php

这里使用的是腾讯云的服务器,装的是CentOS7。

安装过程使用yum, yum源是安装好CentOS7之后自带的。
为了加快文件的下载速度,先更换一下yum源。将原来的源换位阿里云的yum源。
Linux下更换为yum源
安装Apache的httpd服务

  • 安装httpd
yum install httpd
  • 启动httpd服务
systemctl start httpd
  • 查看httpd服务状态
systemctl status httpd

看到 Active: active (running) 说明httpd服务已经起来了

让httpd服务开机启动

systemctl enable httpd

这样当服务器主机重启之后httpd服务会自动开启

httpd服务开启意味着我们应该可以通过访问主机IP或者解析到该IP的域名来访问Apache提供的测试页面了,但是别着急,还有一座大山等着我们,那就是防火墙。

  • 查看防火墙状态,在CentOS7上,防火墙的服务叫firewalld.service,在使用时可以不加“.service”,
    httpd也是同样的道理。
systemctl status firewalld.service

同样看到Active: active (running) 说明防火墙是开启的,而Active: inactive (dead) 则表明防火墙处于关闭状态,一般情况下,建议防火墙是开着的,因为对于服务器来说,防火墙对防止外来攻击起到了不可忽视的作用,但是这里防火墙会阻挡http访问,下面提供解决方案。

  • 一、给防火墙增加规则来放行http以及https(为以后做准备)
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

添加成功后会看到success的提示。注意,一定要加–permanent选项,这样这条规则会在防火墙重启之后依然生效。

  • 二、那就是简单粗暴的关闭防火墙服务(*不建议)
systemctl stop firewalld.service

解决了防火墙的问题就可以试着访问一下了。如果不出意外的话应该看到这个界面:

apache_test
apache_test

默认的网站根目录为/var/www/html/ ,也可以编写一个简单的index.html放在该目录下,并试着访问ip。

cd /var/www/html/
ls
vim index.html
<h1>httpd test!!!</h1>
systemctl restart httpd

访问IP:

index_html
index_html

到此为止,Apache算是搞定了。

  • 安装和配置MySQL

这里选择安装MySQL5.7,也可以到官网下载最新或者选择合适的版本。

下载MySQL源rpm安装包

cd
mkdir mysql
cd mysql/
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
  • 安装MySQL源
rpm -ivh mysql57-community-release-el7-8.noarch.rpm

或者执行

yum localinstall mysql57-community-release-el7-8.noarch.rpm
  • 检查MySQL源是否安装成功
[root@centos7 mysql]# yum repolist enabled |grep mysql

如下图所示表明安装成功

apache_repo
apache_repo

  • 安装mysql-community-server
[root@centos7 ~]# yum install mysql-community-server
  • 启动mysqld服务
[root@centos7 ~]# systemctl start mysqld

第一次启动时间可能比较长,一定要耐心等待。

  • 检查mysqld服务是否启动
[root@centos7 ~]# systemctl status mysqld

相信你已经会判断服务是否启动了。

  • mysqld开机启动
[root@centos7 ~]# systemctl enable mysqld
  • 修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。

通过下面的方式找到root默认密码,然后登录mysql进行修改:

[root@centos7 ~]# grep 'temporary password' /var/log/mysqld.log

mysql_root_tempPasswd
mysql_root_tempPasswd

[root@centos7 ~]# mysql -uroot -p
mysql> ALTER USER root@localhost IDENTIFIED BY 'Test123456';

或者

mysql> set password for 'root'@'localhost'=password('Test123456'); 

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。

既然要搭建博客,那博客的一些数据就要存在数据库中,在typecho搭建时需要指定数据库和数据库用户,所以接下来:

  • 为typecho创建一个数据库,这里数据库名为typecho。
mysql> create database typecho;
  • 创建一个普通用户并 赋予其typecho数据库的所有表的权限:
mysql> grant all privileges on typecho.* to typcho@localhost identified by 'Test123/';
mysql> flush privileges;
  • 检查是否创建成功
mysql> exit
Bye
[root@centos7 ~]# mysql -utypecho -p
mysql> show databases;
mysql> exit

看到typecho数据库那么数据库安装和配置部分就已经完成了。

PHP的安装

  • 安装PHP, CentOS7上默认是php5.4版本
[root@centos7 ~]# yum install php
  • 安装php的mysql驱动
[root@centos7 ~]# yum install php-mysql
  • 同时,我们还可以安装php的其他一些常用插件,可以用yum search命令列出所有
[root@centos7 ~]# yum search php-

在这里挑选部分安装

[root@centos7 ~]# yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
  • 测试PHP是否安装成功
    [root@centos7 ~]# cd /var/www/html/
    [root@centos7 html]# vim info.php
    <?php
    phpinfo();
    ?>
    [root@centos7 html]# systemctl restart httpd

浏览器访问http://192.168.122.10/info.php

phpinfo
phpinfo

如图则表示PHP安装成功。