环境介绍
L:Linux操作系统CentOS 7.2 64位
A:web服务器Apache httpd-2.4.27
M:数据库mysql-5.7.19
P:后台脚本语言php-7.1.7
W:后台管理系统wordpress-4.8
Step 0:准备工作
apache及相关下载: https://www.apache.org/index.html#projects-list
在这个地址里面找到HTTP Server下载httpd,找到APR下载apr和apr-util。在上面也可以看到关于apache http server的介绍:
The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.
Apache HTTP Server项目着力为现代操作系统(包括UNIX和Windows)发展和维护一个开源的HTTP服务器。它的目标是提供一种安全的、有效的、可扩展的服务器,提供与当前HTTP标准同步的HTTP服务。。
pcre库下载地址:http://www.pcre.org
PCRE - Perl Compatible Regular Expressions库简介
The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API, as well as a set of wrapper functions that correspond to the POSIX regular expression API. The PCRE library is free, even for building proprietary software.
PCRE库是一组函数,使用与Perl 5相同的语法和语义来实现正则表达式模式匹配。PCRE有它自己的本地API,以及一组与POSIX正则表达式API相对应的包装器函数。PCRE库是免费的,即使是用于构建专有软件。
mysql下载地址: https://dev.mysql.com/downloads/mysql/
php下载地址: http://php.net/downloads.php
PHP is a popular general-purpose scripting language that is especially suited to web development.
PHP是一种流行的通用脚本语言,特别适合于web开发。
下载完成会得到如上图这些文件,把它们全部上传到你的服务器。
推荐使用免费开源的Filezilla传输。
这里我全部上传至/usr/local/tar目录下。
简单使用到的Linux命令:
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
mkdir:创建目录。参数-p:若上层(parent)目录不存在则创建。
tar:解压或压缩。参数-c:压缩,-x:解压,-v:tar过程中显示文件,-f使用档名, -z:通过gzip的支持进行压缩/解压缩:此时档案名最好为*.tar.gz。
cd:进入目录。
./configure:用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本, 生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share),同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。
make:是用来编译的,它从Makefile中读取指令,然后编译。
make install:是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
vim命令模式下: /:向下查找 ?:向上查找
Step 1:安装apache2.4
进入/usr/local/tar目录
1、首先安装gcc编译器
# yum install gcc gcc-c++
2、解压&安装apr-1.5.2.tar.gz
# tar -zxvf apr-1.5.2.tar.gz # cd apr-1.5.2 # ./configure --prefix=/usr/local/apr # make && make install # cd ..
安装成功:
3、解压&安装apr-util-1.5.4.tar.gz
# tar -zxvf apr-util-1.5.4.tar.gz # cd apr-util-1.5.4 # ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config # make && make install # cd ..
安装成功:
4、解压&安装pcre-8.41.tar.gz
# tar -zxvf pcre-8.41.tar.gz # cd pcre-8.41 # ./configure --prefix=/usr/local/pcre # make && make install # cd ..
安装成功:
5、解压&安装httpd-2.4.27
# tar -zxvf httpd-2.4.27.tar.gz # cd httpd-2.4.27 # ./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util # make && make install # cd ..
6、配置apache:打开httpd.conf
# vim /usr/local/apache/conf/httpd.conf
/查找ServerName并更改为localhost:80.
7、启动apache服务
# /usr/local/apache/bin/apachectl start
此时,若你已经弄好域名并解析到该服务主机,在浏览器输入你的域名便会看到
说明你的apache已经安装完成,可以工作了。
8、错误及解决方案:
8.1.configure: error: no acceptable cc found in $PATH
解决方案:安装编译器yum install gcc gcc-c++
8.2.configure: error: APR not found. Please read the documentation.
解决方案:安装apr-1.5.2.tar.gz
8.3.configure: error: APR-util not found. Please read the documentation
解决方案:安装apr-util-1.5.4.tar.gz
8.4.configure: error: APR version 1.3.0 or later is required
主要是因为apr版本过低造成的,应该卸载相关旧版本
8.5.启动时报错:
AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName‘ directive globally to suppress this message
解决方案:在httpd.conf中找到ServerName,将其设置为localhost:80,并将前面的井号删除
8.6.安装完apache时,访问时Index of /,不是it works
让别人知道你的网站目录结构直接查看你目录下的所有文件是很危险的一个事情。
解决方法:在httpd.conf找到:Options indexes FollowSymLinks改为:Options FollowSymLinks
8.7.重启apache时,报:DocumentRoot must be a directory
原因:在 httpd.conf里面有DocumentRoot配置文件,但实际目录中又没有这个目录,注释此配置即可。
8.8.[[email protected] conf]# /usr/local/apache/bin/apachectl start
AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName‘ directive globally to suppress this message
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
解决方案:在httpd.conf中将Listener 80改为其它的端口号即可。
Step 2:安装mysql5.7
进入/usr/local/tar目录
1、解压mysql5.7
# tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz # mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql # cd /usr/local/mysql
2、创建data目录,作为数据仓库
# mkdir data
3、创建mysql用户和修改软件的权限
# groupadd mysql # useradd -r -g mysql mysql -s /sbin/nologin (创建mysql用户并设置不可登录) # chown -R mysql.mysql /usr/local/mysql/
4、初始化数据(切换当前目录到/usr/local/mysql)
# bin/mysqld --initiaize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
(请注意这里会生成一个临时密码,等会登陆时要用。)
这里可能出现错误
bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
解决方案:
yum install numactl -y
yum install libaio -y
yum install perl -y
5、自动创建证书开启SSL验证
# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
6、修改mysql系统配置文件(问是否替换选y)
# cp support-files/my-default.cnf /etc/my.cnf (如果没有my-default.cnf文件则直接执行下一句) # vim /etc/my.cnf
7、mysql的服务脚本放到系统服务中(问是否替换选y)
# cp support-files/mysql.server /etc/init.d/mysql
8、启动mysql
# bin/mysqld_safe --user=mysql & # bin/mysql --user=root –p
输出刚才得到的临时密码即可进入。
修改密码
mysql> set password for [email protected] = password(‘yourpassword‘);
9、将mysql添加到环境变量
方法一:直接运行命令
export PATH=$PATH:/usr/local/mysql/bin
使用这种方法,只会对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效,只是临时生效。
方法二:执行vi ~/.bash_profile修改文件中的PATH
将/usr/local /mysql/bin 加入到PATH=$PATH:$HOME/bin一行之后。
这种方法只对当前登录用户生效
方法三:修改/etc/profile文件使其永久性生效,并对所有系统用户生效
在文件末尾加上如下两行代码 export PATH=$PATH:/usr/local/mysql/bin
最后:执行命令source /etc/profile或 执行点命令 ./profile使其修改生效,执行完可通过echo $PATH命令查看是否添加成功。
10、配置mysql自动启动(未验证)
# chmod 755 /etc/init.d/mysql
# chkconfig --add mysql
# chkconfig --level 345 mysql on
Step 3:安装php7
进入/usr/local/tar目录,首先安装所需的扩展库
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
1、解压&安装php7
# tar -zxvf php-7.1.7.tar.gz # cd php-7.1.7 # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --disable-fileinfo # make && make install
轻车熟路,至此php安装完成。
2、配置php
# cp php.ini-production /usr/local/php/lib/php.ini
让apache支持php
在httpd.conf中
# vim /usr/local/apache/conf/httpd.conf
找到DirectoryIndex,在index.html后添加
index.php
找到AddType,在之后添加一行
AddType application/x-httpd-php .php
3、重启apache
/usr/local/apache/bin/apachectl restart
4、测试
# cd /usr/local/apache/htdocs/ # vim index.php
在index.php中写如下代码:
<?php
phpinfo();
?>
保存退出。
删除index.html
rm –rf index.html
刷新网页就可以看到php版本及配置信息
至此LAMP环境就安装好了。