centos7 install LAMP
LAMP四大组件
Linux操作系统:作为LAMP架构的基础,提供用于支撑web站点的操作系统能够与其他三大组件提供更好的稳定性与兼容性。
Apache网站服务器:作为LAMP的前端,是一款功能强大,稳定性好的web服务器程序。
MySQL数据库服务器:作为LAMP的后端,是一款非常流行的,开源的关系型数据库系统。
PHP/Perl/Python网页编程语言:作为三种开发动态网页的程序语言,负责解析动态网页文件,并提供web应用程序的开发和运行环境。
LAMP的优势
成本低廉、可定制性强、易于开发、方便易用、安全和稳定
[[email protected] ~]# ls ##事先准备好相关软件包
httpd-2.4.25.tar.gz mcrypt-2.6.8.tar.gz php-5.5.38.tar.gz
mhash-0.9.9.9.tar.gz phpMyAdmin-4.7.2-all-languages.tar.gz
cmake-2.8.6.tar.gz libmcrypt-2.5.8.tar.gz mysql-5.6.36.tar.gz zend-loader-php5.5-linux-x86_64_update1.tar.gz
[[email protected] ~]# mount /dev/cdrom /mnt/ ##挂载centos7安装光盘
[[email protected] ~]# rm -rf /etc/yum.repos.d/*
[[email protected] ~]# vi /etc/yum.repos.d/local.repo ##配置本地yum源
[local]
name=local
baseurl=file:///mnt
enable=1
gpgcheck=0
:wq
[[email protected] ~]# yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre
解压httpd源码包
[[email protected] ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
进入解压后的路径
[[email protected] ~]# cd /usr/src/httpd-2.4.25/
配置configure可执行文件
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
编译
make
编译安装
make install
查看安装路径文件,确定已安装成功
ls /usr/local/httpd/
优化执行路径
ln /usr/local/httpd/bin/* /usr/local/bin
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
查看httpd的版本信息
httpd -v
添加httpd系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
chkconfig: 35 85 21 ##键入
chkconfig --add httpd
建立httpd.service配置文件
vim /lib/systemd/system/httpd.service ##建立httpd.service配置文件
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
设置开机启动
[[email protected] ~]# systemctl enable httpd.service ##设置开机自启
[[email protected] ~]# systemctl is-enabled httpd.service
MySQL Install Manual
一、MySQL 的编译安装
准备工作
1、查看是否已经安装过MySQL,如果安装过建议使用(-e)将其卸载。
[[email protected] ~]# rpm -q mysql-server mysql ##查看是否有安装过MySQL
[[email protected] ~]# yum -y install ncurses-devel ##安装ncurses-devel支持包
2、MySQL 5.X 版本需要cmake编译安装,所以需要安装cmake包。
[[email protected] ~]# tar zxf cmake-2.8.6.tar.gz
[[email protected] ~]# cd cmake-2.8.6/
[[email protected] cmake-2.8.6]# ./configure
[[email protected] cmake-2.8.6]# gmake && gmake install
源码编译及安装
1、创建运行用户(mysql),此用户不需要登录系统,可以不创建宿主目录。
[[email protected] cmake-2.8.6]# groupadd mysql
[[email protected] cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql
2、解压下载好的源码包,解压目录/usr/src
[[email protected] ~]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/mysql-5.6.36/
3、配置mysql、以便支持更多功能
[[email protected] mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
DCMAKE_INSTALL_PREFIX ##指定MySQL安装到那个路径下
DSYSCONFDIR ##指定初始化文件目录
DDEFAULT_CHARSET ##指定默认使用的字符集编码(如:utf8)
DDEFALUT_COLLATION ##指定默认使用的字符集校对规则,utf8_general_ci是适用于utf-8字符集的通用规则
DWITH_HXTRA_CHARSETS ##指定额外支持的其他字符集编码
4、编译安装
[[email protected] mysql-5.6.36]# make
[[email protected] mysql-5.6.36]# make install
安装后的其他调整
1、对数据库进行权限设置、属主:属组
[[email protected] ~]# chown -R mysql:mysql /usr/local/mysql
2、建立配置文件,因centos7默认支持mariadb数据库,所以系统默认的/etc/my.cof配置文件是MariaDB的配置文件、
而在MySQL源目录中的support-files文件夹下,提供了MySQL数据可的样本配置文件my-default.cof文件,所以
我们需要拷贝my-default.cof文件到/etc路径下,并删除my.cof
[[email protected] mysql-5.6.36]# rm -rf /etc/my.cof
[[email protected] mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
[[email protected] ~]# vi /etc/my.cnf ##手动指定pid文件
pid-file=/usr/local/mysql/data/mysql.pid
:wq
3、初始化数据库,使用户mysql可以正常登陆,所以需要运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据库存放路径等。
[[email protected] mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
4、设置环境变量,为了方便在认可目录下使用mysql命令,需要在/etc/profile设置环境变量
[[email protected] mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[[email protected] ~]# source /etc/profile
5、添加系统服务
[[email protected] mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[[email protected] mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh
[[email protected] ~]# vi /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile= ##PID文件为空
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop
[Install]
WantedBy=multi-user.target
:wq
[[email protected] ~]# systemctl start mysqld ##启动MySQL
[[email protected] ~]# systemctl enable mysqld ##设置为开机启动
[[email protected] ~]# systemctl status mysqld ##查看启动状态
[[email protected] ~]# netstat -anpt | grep mysqld ##过滤mysql端口状态
二、访问MySQL数据库
1、登陆MySQL服务器:默认用户为root 密码为空
1)无密码登陆
[[email protected] ~]# mysql -u root ##“-u”选项用于指定认证用户
2)有密码登陆
[[email protected] ~]# mysql -u root -p ##“-p”选项来进行密码校验
3)设置登录mysql的root用户密码
[[email protected] ~]# mysqladmin -u root password 123123
2、执行MySQL操作语句
mysql> STATUS; ##"STATUS;"语句可以查看当前数据库的基本状态
3、退出mysql操作环境
mysql> exit ##退出可以使用"exit"或"quit"命令退出mysql编辑器
安装PHP服务
根据实际情况可卸载PHP相关软件依赖,另外需要安装zlib-devel xz-devel libxml2-devel包
[[email protected] ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
错误:未安装软件包 php
错误:未安装软件包 php-cli
错误:未安装软件包 php-ldap
错误:未安装软件包 php-common
错误:未安装软件包 php-mysql
[[email protected] ~]# yum -y install zlib-devel xz-devel libxml2-devel
yum -y install libxml2-devel
安装扩展工具;在实际应用中,一部分基于PHP开发的web应用系统会需要额外的扩展工具,如数据加密
工具,libmcrypt,mhash,mcrypt等(可以从站点http://sourceforge.net下载)。安
装PHP软件包之前应该先安装好这些工具。
1)安装libmcrypt
[[email protected] ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root[email protected] ~]# cd /usr/src/libmcrypt-2.5.8/
[[email protected] libmcrypt-2.5.8]# ./configure
[[email protected] libmcrypt-2.5.8]# make && make install
[[email protected] libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
2)安装mhash
[[email protected] ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/mhash-0.9.9.9/
[[email protected] mhash-0.9.9.9]# ./configure
[[email protected] mhash-0.9.9.9]# make && make install
[[email protected] mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/
3)安装mcrypt
[[email protected] ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/mcrypt-2.6.8/
[[email protected] mcrypt-2.6.8]# ./configure
[[email protected] mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib ##解决上一条./configure配置报错问题
[[email protected] mcrypt-2.6.8]# ./configure
[[email protected] mcrypt-2.6.8]# make && make install
编译安装PHP
1)解包
[[email protected] ~]# tar zxf php-5.5.38.tar.gz -C /usr/src/ ##解压缩PHP源码包
[[email protected] src]# cd /usr/src/php-5.5.38/
2)配置:在定制PHP的配置选项时,最关键的就是制定httpd,mysqld的安装路径,以便添加相关支出路径,
使LAMP各个组件协同工作。除此之外,还可以制定安装路径,启用多字节支持,加密扩展支持等。
./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring
--prefix:制定将PHP程序安装到哪个目录下(/usr/local/php5)
--with-mcrypt:加载数据加密等扩展支持功能
--with-apxs2:设置Apache HTTP Server提供的apxs模块支持程序的文件位置
--with-mysql:设置MySQL数据库服务程序的安装位置
--with-mysqli:添加mysqli扩展支持
--with-config-file-path:设置PHP的配置文件php.ini将要存放的位置
--enable-mdstring:启用多字节字符串功能,以便支持中文等代码
3)编译及安装:编译过程极慢,若期间未出现错误,接下来就可以对LAMP组件进行适当的配置,并验证是否能够协同工作。
[[email protected] php-5.5.38]# make && make install
设置LAPM组键环境
1、php.ini配置调整
1)php.ini的建立及基本设置;安装好后PHP,服务器并不会自定创建php.ini配置文件,但在源码目录下提供了两个样例
配置文件,分别对应开发环境,生产环境。
/usr/src/php-5.5.38/php.ini-development ##开发版样例环境,用于学习测试
/usr/src/php-5.5.38/php.ini-production ##生产版样例环境,用于实际运营
选择其中一个样例文件,复制到PHP配置文件目录、/usr/local/php5下,并改名为php.ini,文件中以分号开头的内容为注释信息
[[email protected] ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[[email protected] ~]# grep -v "^;" /usr/local/php5/php.ini |grep -v "^$"
[PHP]
engine = On
short_open_tag = Off
asp_tags = Off
......
通过修改php.ini文件中的配置内容,可以控制PHP网页的直行特性,如是否允许用户上传文件,设置上传文件的大小限制,设置
默认使用的字符集,加载额外的扩展模块等。如没有特殊要求,可以直接使用默认配置,不做任何修改。
[[email protected] ~]# vi /usr/local/php5/php.ini
...... //省略部分内容
default_charset = "utf-8" ##设置默认字符集为utf-8
file_uploads = On ##允许通过PHP网页上传文件
upload_max_filesize = 2M ##允许上传的文件大小限制
max_file_uploads = 20 ##每个HTTP请求最多允许上传的文件数
post_max_size = 8M ##每次通过表单POST提交的数据量限制
short_open_tag = On ##允许识别PHP短语法标记,即<?...?>
extension=php_mysqli.dll ##添加mysql支持
2)添加ZendGuardLoader优化模块
为了进一步提高程序的执行效率,优化页面加载速度,可以为PHP添加Zend公司开发的ZendGuardLoade”优化模块。若需要加密PHP代码以限
制未经授权的分发,还可以购买该公司的ZendGuard软件。该模块可以在zend公司官网http://www.zend.com下载。
将下载好的ZendGuardLoade包解压缩,并将源码目录下的模块文件复制到PHP程序的模块文件夹
[[email protected] ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[[email protected] zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php
修改php.ini配置文件,添加加载及启用ZendGuardLoade.os模块的配置语句
[[email protected] ~]# vi /usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
2、httpd.conf配置调整
要让httpd服务器支持PHP页面解析功能,需通过LoadModule配置项加载程序的模块文件,并通过AddType配置项添加对”.php",类型网页文
件的支持,除此以外还应修改Directoryindex配置行,添加inaex.php项,以识别常见的PHP首页文件。
[[email protected] ~]# vi /usr/local/httpd/conf/httpd.conf
LoadModule php5_module modules/libphp5.so ##1——4行配置文件默认已经存在,所以只需要添加最后一行就可以了
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
AddType application/x-httpd-php .php
上述内容中,LoadModule行在安装PHP过程中已经自定添加,其中php5_module表示为模块名称,modules/libphp5.so表示为模块文件位置
AddType行需要手动添加、DirectoryIndex行在原有的基础上对其进行修改就可以了。
测试LAMP协同工作
1、测试PHP网页是否能正常工作
测试apache是否支持php,在/usr/local/httpd/htdocs下边创建以下文件
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo( ); ##此函数可显示PHP服务器的环境信息
?>
然后在客户端访问,http://服务器IP地址/index.php 即可访问成功
测试php能否成功连接mysql,切记修改mysql的密码
vim /usr/local/httpd/htdocs/index2.php
<?php
$link=mysqli_connect(‘localhost‘,‘root‘,‘123123‘); ##连接MySQL数据库
if($link) echo "恭喜你,数据库连接成功啦!!"; ##连接成功时的反馈消息
mysqli_close($link); ##关闭数据库连接
?>
然后在客户端访问,http://服务器IP地址/index2.php 即可访问成功
部署phpMyAdmin系统
phpMyAdmin是一个使用PHP语言编写,用来管理MySQL数据库的Web应用系统。通过该套件提供的网页界面,
即便是对SQL语句不太熟悉的人,也能够非常容易地对MySQL数据库进行管理和维护。
phpMyAdmin的源码包可以从其官方站点http://www.phpadmin.net中下载。下面以多国语言版源码包
phpMyAdmin-4.7.2-all-languages.tar.gz为例介绍ppMyAdmin套件的部署过程。
1.解包,并复制到网站目录
[[email protected] ~]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz
[[email protected] ~]# mv phpMyAdmin-4.7.2-all-languages /usr/local/httpd/htdocs/phpMyAdmin
2、建立配置文件config.inc.php
[[email protected] ~]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[[email protected] phpMyAdmin]# cp config.sample.inc.php config.inc.php
3.访问phpMyAdmin的Web管理界面然后在客户端访问,http://服务器IP地址/phpMyAdmin 即可访问成功
原文地址:http://blog.51cto.com/liuliheng/2162545