设为首页 收藏本站
查看: 1039|回复: 0

[经验分享] centos7部署安装LAMP

[复制链接]

尚未签到

发表于 2019-2-16 08:06:55 | 显示全部楼层 |阅读模式
  centos7  install   LAMP
  LAMP四大组件
Linux操作系统:作为LAMP架构的基础,提供用于支撑web站点的操作系统能够与其他三大组件提供更好的稳定性与兼容性。
Apache网站服务器:作为LAMP的前端,是一款功能强大,稳定性好的web服务器程序。
MySQL数据库服务器:作为LAMP的后端,是一款非常流行的,开源的关系型数据库系统。
PHP/Perl/Python网页编程语言:作为三种开发动态网页的程序语言,负责解析动态网页文件,并提供web应用程序的开发和运行环境。
  LAMP的优势
成本低廉、可定制性强、易于开发、方便易用、安全和稳定
  [root@localhost ~]# 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
  [root@localhost ~]# mount /dev/cdrom /mnt/                              ##挂载centos7安装光盘
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
  [root@localhost ~]# vi /etc/yum.repos.d/local.repo                      ##配置本地yum源
[local]
name=local
baseurl=file:///mnt
enable=1
gpgcheck=0
:wq
  [root@localhost ~]# yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre
  解压httpd源码包
[root@localhost ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
进入解压后的路径
[root@localhost ~]# 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
  设置开机启动
[root@localhost ~]# systemctl enable httpd.service      ##设置开机自启
[root@localhost ~]# systemctl is-enabled httpd.service
  MySQL Install Manual
一、MySQL 的编译安装
准备工作
1、查看是否已经安装过MySQL,如果安装过建议使用(-e)将其卸载。
[root@localhost ~]# rpm -q mysql-server mysql       ##查看是否有安装过MySQL
[root@localhost ~]# yum -y install ncurses-devel    ##安装ncurses-devel支持包
2、MySQL 5.X 版本需要cmake编译安装,所以需要安装cmake包。
[root@localhost ~]# tar zxf cmake-2.8.6.tar.gz
[root@localhost ~]# cd cmake-2.8.6/
[root@localhost cmake-2.8.6]# ./configure
[root@localhost cmake-2.8.6]# gmake && gmake install
源码编译及安装
1、创建运行用户(mysql),此用户不需要登录系统,可以不创建宿主目录。
[root@localhost cmake-2.8.6]# groupadd mysql
[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql
2、解压下载好的源码包,解压目录/usr/src
[root@localhost ~]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/mysql-5.6.36/
3、配置mysql、以便支持更多功能
[root@localhost 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、编译安装
[root@localhost mysql-5.6.36]# make
[root@localhost mysql-5.6.36]# make install
  安装后的其他调整
1、对数据库进行权限设置、属主:属组
[root@localhost ~]# 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

    [root@localhost mysql-5.6.36]# rm -rf /etc/my.cof
[root@localhost mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost ~]# vi /etc/my.cnf                                              ##手动指定pid文件
pid-file=/usr/local/mysql/data/mysql.pid
:wq
3、初始化数据库,使用户mysql可以正常登陆,所以需要运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据库存放路径等。
[root@localhost 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设置环境变量
[root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
5、添加系统服务
[root@localhost mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
[root@localhost mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh
[root@localhost ~]# 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
[root@localhost ~]# systemctl start mysqld              ##启动MySQL
[root@localhost ~]# systemctl enable mysqld             ##设置为开机启动
[root@localhost ~]# systemctl status mysqld             ##查看启动状态
[root@localhost ~]# netstat -anpt | grep mysqld         ##过滤mysql端口状态
  二、访问MySQL数据库
1、登陆MySQL服务器:默认用户为root 密码为空
1)无密码登陆
[root@localhost ~]# mysql -u root                       ##“-u”选项用于指定认证用户
2)有密码登陆
[root@localhost ~]# mysql -u root -p                    ##“-p”选项来进行密码校验
3)设置登录mysql的root用户密码
[root@localhost ~]# 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包
[root@localhost ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
错误:未安装软件包 php
错误:未安装软件包 php-cli
错误:未安装软件包 php-ldap
错误:未安装软件包 php-common
错误:未安装软件包 php-mysql
[root@localhost ~]# 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
[root@localhost ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/libmcrypt-2.5.8/
[root@localhost libmcrypt-2.5.8]# ./configure
[root@localhost libmcrypt-2.5.8]# make && make install
[root@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
2)安装mhash
[root@localhost ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/mhash-0.9.9.9/
[root@localhost mhash-0.9.9.9]# ./configure
[root@localhost mhash-0.9.9.9]# make && make install
[root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/
3)安装mcrypt
[root@localhost ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/mcrypt-2.6.8/
[root@localhost mcrypt-2.6.8]# ./configure
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib                ##解决上一条./configure配置报错问题
[root@localhost mcrypt-2.6.8]# ./configure
[root@localhost mcrypt-2.6.8]# make && make install
编译安装PHP
1)解包
[root@localhost ~]# tar zxf php-5.5.38.tar.gz -C /usr/src/                          ##解压缩PHP源码包
[root@localhost 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组件进行适当的配置,并验证是否能够协同工作。
[root@localhost 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,文件中以分号开头的内容为注释信息
[root@localhost ~]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
[root@localhost ~]# grep -v "^;" /usr/local/php5/php.ini |grep -v "^$"
[PHP]
engine = On
short_open_tag = Off
asp_tags = Off
......
通过修改php.ini文件中的配置内容,可以控制PHP网页的直行特性,如是否允许用户上传文件,设置上传文件的大小限制,设置
默认使用的字符集,加载额外的扩展模块等。如没有特殊要求,可以直接使用默认配置,不做任何修改。
[root@localhost ~]# 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程序的模块文件夹
[root@localhost ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php
修改php.ini配置文件,添加加载及启用ZendGuardLoade.os模块的配置语句
[root@localhost ~]# 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首页文件。
[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
LoadModule php5_module   modules/libphp5.so                             ##1——4行配置文件默认已经存在,所以只需要添加最后一行就可以了

DirectoryIndex index.html index.php

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


    然后在客户端访问,http://服务器IP地址/index.php   即可访问成功
测试php能否成功连接mysql,切记修改mysql的密码
vim /usr/local/httpd/htdocs/index2.php

然后在客户端访问,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.解包,并复制到网站目录
[root@localhost ~]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz
[root@localhost ~]# mv phpMyAdmin-4.7.2-all-languages /usr/local/httpd/htdocs/phpMyAdmin
2、建立配置文件config.inc.php
[root@localhost ~]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@localhost phpMyAdmin]# cp config.sample.inc.php config.inc.php
3.访问phpMyAdmin的Web管理界面然后在客户端访问,http://服务器IP地址/phpMyAdmin   即可访问成功



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-672889-1-1.html 上篇帖子: Postfix无法在centos上启动 下篇帖子: VMware中Centos系统静态IP设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表