搭建-LAMP-环境

LAMP : linux + apache2 + mysql5 + php7

删除旧的 apache

把操作系统默认安装的apache给卸载掉,避免与我们要安装的有冲突

1
[root@localhost ~] yum list installed | grep httpd

卸载与httpd有关系的软件

1
2
[root@localhost ~] yum -y remove httpd
[root@localhost ~] yum -y remove httpd-tools

再整个系统中找与httpd有关系的文件或目录

1
[root@localhost ~] find / -name httpd

删除与httpd有关系的文件

1
2
[root@localhost ~] rm -rf /etc/httpd
[root@localhost ~] rm -rf /usr/lib/httpd

依赖文件

我们后边要安装的php、apache、mysql等相关的软件,这些软件都是通过C语言或C++语言编写的,因此需要安装gcc和gcc-c++编译器。

zlib软件是后续其他软件的依赖软件,有其他软件有代码优化压缩的作用。

安装 Apache

依赖文件(解压, 安装)

1
2
3
4
5
6
[root@localhost ~] tar zxf apr-1.5.2.tar.gz 
[root@localhost ~] ./configure --prefix=/usr/local/apr
[root@localhost ~] tar zxf apr-util-1.5.4.tar.gz
[root@localhost ~] ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost ~] tar zxf pcre-8.40.tar.gz
[root@localhost ~] ./configure --prefix=/usr/local/pcre

apache install

1
2
3
[root@localhost ~] tar zxf httpd-2.4.29.tar.gz
[root@localhost ~] ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-z=/usr/local/zlib --enable-so --enable-rewrite
[root@localhost ~] make && make install
  • –enable-so 让apache激活并可以识别使用so后缀的功能模块
  • –enable-rewrite 开启重写模块(可以修改地址栏信息,例如隐藏index.php入口文件)

控制服务

在/usr/local/apache2/bin目录里边进行服务操控

1
2
3
[root@localhost ~] ./apachectl start     	开启apache服务
[root@localhost ~] ./apachectl stop 关闭apache服务
[root@localhost ~] ./apachectl restart 重启apache服务

防火墙

为了使得外部用户浏览器可以访问到apache服务效果,还需要把linux系统本身的防火墙给予关闭掉

1
[root@localhost ~] setup

安装 PHP

安装 依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~] yum -y install libxml2-devel
xml库依赖支持
[root@localhost ~] yum -y install openssl-devel
openssl: 支持安全传输协议https
[root@localhost ~] yum -y install libcurl-devel
curl是服务器彼此间调用的接口,常用于爬虫技术
[root@localhost ~] yum -y install libjpeg-turbo-devel
[root@localhost ~] yum -y install libpng-devel
png图片格式支持
[root@localhost ~] yum -y install freetype-devel
画图字体库支持
[root@localhost ~] yum -y install libxslt-devel
打开XSLT 文件支持,扩展了libXML2库

php install

1
2
[root@localhost ~] tar zxf php-7.0.25.tar.gz
[root@localhost ~] ./configure --prefix=/usr/local/php7.0 --with-apxs2=/usr/local/apache2/bin/apxs --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-jpeg-dir --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

参数 详解

  • –with-apxs2=/usr/local/apache2/bin/apxs –> 上边的指令会在安装php的时候就自动生成php模块,名称为libphp7so,并且该模块会生成到apache的对应模块目录(/usr/local/apache2/modules/)里边,然后还会自动去修改httpd.conf文件,使得引入该libphp7.so的模块
  • –with-curl –> 打开curl的支持,使得php可以访问其他网站的网址并获得对应的内容,是爬虫技术范畴,file_get_contents(“http://xxx”);
  • –with-freetype-dir –> 字体库支持
  • –with-gd –> 画图技术支持,我们并不需要主动安装gd库,该gd库已经被集成在php内部(如下图)了,随着php安装gd库也会被自动安装好
  • –with-gettext –> 支持开发多语言系统
  • –with-iconv-dir –> iconv函数库能够完成各种字符集间的转换
  • –with-kerberos –> kerberos支持
  • –with-jpeg-dir –> jpeg图片格式支持
  • –with-libxml-dir –> libxml2库的支持
  • –with-mysqli –> Mysqli数据库的支持
  • –with-openssl –> openssl的支持,加密传输时用到的,类似这样的协议https://xx就需要openssl的技术支持
  • –with-pcre-regex –> 正则表达式支持
  • –with-pdo-mysql –> pdo-mysql支持
  • –with-pear –> pear是PHP的扩展和应用程序库,包含了很多有用的类
  • –with-png-dir –> png图片格式支持
  • –with-xmlrpc –> xml相关的扩展库支持
  • –with-xsl –> 打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
  • –with-zlib –> zlib压缩库支持
  • –enable-bcmath –> 图片大小调整技术支持
  • –enable-libxml –> xml支持
  • –enable-inline-optimization –> 优化线程,给php整体做性能优化处理
  • –enable-gd-native-ttf –> 画图字体库支持,支持TrueType字符串函数库
  • –enable-mbregex –> 正则表达式支持
  • –enable-mbstring –> mb宽字节函数库支持
  • –enable-opcache –> 缓存支持
  • –enable-pcntl –> pcntl扩展可以支持php的多线程操作
  • –enable-shmop –> shmop是一个易于使用的功能集,允许PHP读,写,创建和删除UNIX共享内存段
  • –enable-sysvsem –> 作用同上
  • –enable-soap –> SOAP 的全称为简单对象访问协议 (Simple Object Access Protocol)。它是一种基于 XML 的,可扩展的通信协议。SOAP 提供了一种标准,使得运行在不同平台上并使用不同的编程语言编写的应用程序可以互相进行通信
  • –enable-sockets –> sockets 支持
  • –enable-xml –> xml支持
  • –enable-zip –> php支持对zip压缩包处理

(上述有一些配置参数没有设置依赖软件的路径名,其会到系统默认位置找到对应的软件,如果依赖软件没有安装到系统默认位置,则需要通过完整路径名显示设置好。还有一些配置参数本身就是“是或否”的意思,则不需要设置依赖路径名)

制作php.ini文件

在php解压目录里边把php.ini-development 复制到/usr/local/php7.0/lib/php.ini

1
[root@localhost ~] cp php.ini-development /usr/local/php7.0/lib/php.ini

安装 MySQL

卸载旧的 MySQL, 同apache

下载mysql组件

MySQL install

1
2
3
4
5
rpm -ivh libaio-0.3.107-10.e16.i686.rpm // 依赖
[root ~] rpm -ivh mysql-community-common-5.7.20-1.el6.i686.rpm
[root ~] rpm -ivh mysql-community-libs-5.7.20-1.el6.i686.rpm
[root ~] rpm -ivh mysql-community-client-5.7.20-1.el6.i686.rpm
[root ~] rpm -ivh mysql-community-server-5.7.20-1.el6.i686.rpm

以上组件的安装是有自上而下的顺序要求,因为它们彼此有依赖关系。

服务控制

1
[root@localhost ~] service mysqld start[/stop/restart]

查看默认的root帐号密码

1
[root@localhost ~] grep "root@localhost" /var/log/mysqld.log

修改root帐号密码

1
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

设置字符集

vim /etc/my.cnf

在配置文件最后添加以下内容:

  • 连接mysql时的字符集设置为utf8mb4
    init-connect=’SET NAMES utf8mb4’
  • 默认存储引擎为INNODB
    default-storage-engine=INNODB
  • 服务器端字符集设置为utf8mb4
    character-set-server=utf8mb4
    [mysql]
  • mysql本身字符集设置为utf8mb4
    default-character-set = utf8mb4
    [client]
  • 客户端操作mysql时字符集设置为utf8mb4
    default-character-set = utf8mb4

远程连接

1.使用mysql -u root -p登录mysql

2.执行grant all privileges on . to ‘root‘@’%’ identified by ‘111111’;

3.flush privileges;

这时我们使用Navicat登录会发现无法连接,这是因为未开放3306端口的原因

4.开放3306端口

1
2
3
4
5
firewall-cmd --add-port=3306/tcp --permanent

firewall-cmd --add-port=3306/udp --permanent

firewall-cmd --reload

这时再通过Navicat发现连接成功。

工步他始能詩的,裝進分星海演意學值例道……於財型目古香亮自和這乎?化經溫詩。只賽嚴大一主價世哥受的沒有中年即病行金拉麼河。主小路了種就小為廣不?