是什么
提示:了解原理才能轻松搭建
- L:表示Linux系统
- A:表示apache
- M:表示数据库
- P:表示PHP、python、perl等等编程语言
如图:
学习内容:
提示:把源码包和依赖包,统一存在一个文件夹,若虚拟机则做成镜像挂载到/mnt目录下,如果之前安装mariadb-5.5.52-1.el7.x86_64
需要卸载再安装。
1)用命令挂载目录。
vim /dev/cdrom /mnt
2)编辑脚本内容如下:
#(一)安装Apache
#安装依赖包
echo "老铁!部署Apache,请稍等..."
rpm -q httpd
if [ $? -eq 0 ];then rpm -e httpd--nodeps ;fi
rpm -ivh /mnt/apr-1.4.8-3.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/apr-devel-1.4.8-3.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/cyrus-sasl-devel-2.1.26-20.el7_2.x86_64.rpm &>/dev/null
rpm -ivh /mnt/expat-devel-2.1.0-8.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/libdb-devel-5.3.21-19.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/openldap-devel-2.4.40-13.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/apr-util-devel-1.5.2-6.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/pcre-devel-8.32-15.el7_2.1.x86_64.rpm &>/dev/null
#解压、配置安装路径及安装
tar zxf /mnt/httpd-2.4.25.tar.gz -C /usr/src
cd /usr/src/httpd-2.4.25/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
make &>/dev/null
make install &>/dev/null
ln -s /usr//local/httpd/bin/* /usr/local/bin
#添加系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
sed -i '1c #!/bin/bash' /etc/init.d/httpd
sed -i '1a #chkconfig: 35 85 15' /etc/init.d/httpd
sed -i '2a #description: hahha' /etc/init.d/httpd
chkconfig --add httpd
echo "老铁!Apache安装完毕,可以嗨了!"
#(二)安装MySql
#(1)解压安装cmake
echo "老铁!部署Cmake,请稍等..."
rpm -ivh /mnt/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm &>/dev/null
tar zxf /mnt/cmake-2.8.6.tar.gz -C /usr/src
cd /usr/src/cmake-2.8.6/
./configure &>/dev/null
gmake &>/dev/null
gmake install &>/dev/null
echo "老铁!Cmake安装完毕"
#源码编译及安装mysql
#创建运行用户
groupadd mysql
useradd -M -s /sbin/nologin mysql -g mysql
#部署MySql
#(2)安装MySql
echo "老铁!部署MySql,请稍等..."
tar zxf /mnt/mysql-5.6.36.tar.gz -C /usr/src
cd /usr/src/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 &>/dev/null
make &>/dev/null
make install &>/dev/null
#(3)优化服务
chown -R mysql:mysql /usr/local/mysql
rm -rf /etc/my.cnf
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cd /usr/local/mysql/scripts/
#注意:下面这行必须输入在同一行,否则报错!!!
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ &>/dev/null
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile
#添加系统服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld
echo "==========老铁!mysql干完了!==========="
#(三)安装PHP
echo "==========老铁!开始部署PHP!==========="
#(1)安装依赖包
rpm -ivh /mnt/zlib-devel-1.2.7-17.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/xz-devel-5.2.2-1.el7.x86_64.rpm &>/dev/null
rpm -ivh /mnt/libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm &>/dev/null
#(2)安装扩展工具库
tar zxf /mnt/libmcrypt-2.5.8.tar.gz -C /usr/src
cd /usr/src/libmcrypt-2.5.8/
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
tar zxf /mnt/mhash-0.9.9.9.tar.gz -C /usr/src
cd /usr/src/mhash-0.9.9.9/
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
tar zxf /mnt/mhash-0.9.9.9.tar.gz -C /usr/src
cd /usr/src/mhash-0.9.9.9/
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
tar zxf /mnt/mcrypt-2.6.8.tar.gz -C /usr/src
cd /usr/src/mcrypt-2.6.8/
#解决configure报错
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
#(3)编译安装PHP
tar zxf /mnt/php-5.5.38.tar.gz -C /usr/src
cd /usr/src/php-5.5.38/
./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 &>/dev/null
make &>/dev/null
make install &>/dev/null
#(4)优化
#为Apache添加php支持
sed -i '$aAddType application/x-httpd-php .php' /usr/local/httpd/conf/httpd.conf
sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php index.html/' /usr/local/httpd/conf/httpd.conf
systemctl start httpd
#测试PHP网页能否显示
echo "<?php" >>/usr/local/httpd/htdocs/test1.php
echo "phpinfo();" >>/usr/local/httpd/htdocs/test1.php
echo "?>" >>/usr/local/httpd/htdocs/test1.php
echo "==========老铁!部署PHP完毕!==========="
#测试PHP网页能否访问mysql数据库
echo "<?php" >>/usr/local/httpd/htdocs/test2.php
text2='$link=mysqli_connect'
text3="('localhost','root','123456');"
echo "${text2}$text3" >>/usr/local/httpd/htdocs/test2.php
sed -i '2a if($link) echo "Congratulations, database connection is successful!!";' /usr/local/httpd/htdocs/test2.php
echo 'mysqli_close($link);' >> /usr/local/httpd/htdocs/test2.php
echo "?>" >> /usr/local/httpd/htdocs/test2.php
echo "==========老铁!部署完毕可以测试啦!==========="
3)执行脚本,可以约妹去啦!
4)回头看到如下提示,表示部署LAMP成功:
注意:版本必须和教程的一致,安装路径存放路径也要一致,否则,需要调整脚本内容,才能运行成功!方法有很多种,但是语法不要有错误!!!
测试PHP:
测试PHP网页能否访问MYSQL数据库
如对您有帮助,请在评论区留言,感谢您的支持!!!
转载:https://blog.csdn.net/Friendsofthewind/article/details/114692929
查看评论