CentOS7 一键部署LAMP环境

一、准备工作:

1)所需素材网盘链接:https://pan.baidu.com/s/17bQNJJ1-FwNzvtJI4rP5cw

提取码:m0hi

2)编写脚本,脚本内容如下:
[[email protected] ~]# vim lamp.sh
#!/bin/bash
#安装Apache
mount /dev/cdrom /mnt
cd /mnt
rpm -ivh apr-1.4.8-3.el7.x86_64.rpm
rpm -ivh apr-devel-1.4.8-3.el7.x86_64.rpm
rpm -ivh cyrus-sasl-devel-2.1.26-20.el7_2.x86_64.rpm
rpm -ivh expat-devel-2.1.0-8.el7.x86_64.rpm
rpm -ivh libdb-devel-5.3.21-19.el7.x86_64.rpm
rpm -ivh openldap-devel-2.4.40-13.el7.x86_64.rpm
rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm
rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm
rpm -ivh pcre-devel-8.32-15.el7_2.1.x86_64.rpm
rpm -ivh pcre-8.32-15.el7_2.1.x86_64.rpm
tar zxf 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 && make install
ln -s /usr/local/httpd/bin/* /usr/local/bin
cp /usr/local/httpd//bin/apachectl /etc/init.d/httpd
sed -i ‘1d‘ /etc/init.d/httpd
sed -i ‘1i #!/bin/bash‘ /etc/init.d/httpd
sed -i ‘1a # chkconfig: 35 85 21‘ /etc/init.d/httpd
chkconfig --add httpd
systemctl start httpd
#安装MySQL数据库
cd /mnt
rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
tar zxf cmake-2.8.6.tar.gz -C /usr/src
cd /usr/src/cmake-2.8.6/
./configure && gmake && gmake install
groupadd mysql
useradd -M -s /sbin/nologin mysql -g mysql
cd /mnt
tar zxf 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
make && make install
chown -R mysql:mysql /usr/local/mysql
rm -rf /etc/my.cnf
cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql   --datadir=/usr/local/mysql/data/
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile
cp /usr/src/mysql-5.6.36/support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
chmod +x /usr/local/mysql/bin/mysqld.sh
cp /usr/local/mysql/bin/mysqld.sh /etc/init.d/mysqld
sed -i ‘1d‘ /etc/init.d/mysqld
sed -i ‘1i #!/bin/bash‘ /etc/init.d/mysqld
sed -i ‘1a # chkconfig: 2345 86 36‘ /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld
mysqladmin -u root password ‘123456‘
systemctl restart mysqld
#安装PHP
cd /mnt
rpm -e php php-cli php-ldap php-common php-mysql --nodeps
rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm
rpm -ivh xz-devel-5.2.2-1.el7.x86_64.rpm
rpm -ivh libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src
cd /usr/src/libmcrypt-2.5.8/
./configure && make && make install
ln -s /usr/local/lib/libmcrypt.* /usr/lib
cd /mnt
tar zxf mhash-0.9.9.9.tar.gz -C /usr/src
cd /usr/src/mhash-0.9.9.9/
./configure && make && make install
ln -s /usr/local/lib/libmhash* /usr/lib
cd /mnt
tar zxf mcrypt-2.6.8.tar.gz -C /usr/src
cd /usr/src/mcrypt-2.6.8/
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure && make && make install
cd /mnt
tar zxf 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
make && make install
cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
sed -i ‘680s/;default_charset = "UTF-8"/default_charset = "UTF-8"/g‘ /usr/local/php5/php.ini
sed -i ‘202s/Off/On/g‘ /usr/local/php5/php.ini
sed -i ‘873s/;extension=php_mysqli.dll/extension=php_mysqli.dll/g‘ /usr/local/php5/php.ini
cd /mnt
tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src
cd /usr/src/zend-loader-php5.5-linux-x86_64/
cp ZendGuardLoader.so /usr/local/php5/lib/php
sed -i ‘$a zned_extension=/usr/local/php5/lib/php/ZendGuardLoader.so‘ /usr/local/php5/php.ini
sed -i ‘$a zend_loader.enable=1‘ /usr/local/php5/php.ini
sed -i ‘259d‘ /usr/local/httpd/conf/httpd.conf
sed -i ‘258a DirectoryIndex index.html  index.php ‘ /usr/local/httpd/conf/httpd.conf
sed -i ‘259a AddType application/x-httpd-php .php ‘ /usr/local/httpd/conf/httpd.conf
systemctl restart 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
#测试能否访问MySQL数据库
echo "<?php" >> /usr/local/httpd/htdocs/test2.php
echo "\$link=mysqli_connect(‘localhost‘,‘root‘,‘123456‘);" >> /usr/local/httpd/htdocs/test2.php
echo "if(\$link) echo "恭喜你,数据库连接成功!!!";" >> /usr/local/httpd/htdocs/test2.php
echo "mysqli_close(\$link);  " >> /usr/local/httpd/htdocs/test2.php
echo "?>" >> /usr/local/httpd/htdocs/test2.php
#由于“$”是特殊符号,所以需要使用“\”转义符

由于内容较多,脚本中并没有太多的注释信息,如果有什么不明白的可以参考博文:LAMP平台部署及应用

二、客户机测试访问


原文地址:https://blog.51cto.com/14157628/2426389

时间: 2024-08-29 13:46:16

CentOS7 一键部署LAMP环境的相关文章

CentOS7单机部署lamp环境和apache虚拟主机

(1)apache介绍 apache : httpd.apache.org 软件包:httpd 端口服务:80/tcp(http) 443/tcp(https,http+ssl) 配置文件: /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf /etc/httpd/conf.d/welcome.conf //默认测试页面 (2)lamp环境安装 1.关闭防火墙和selinux systemctl stop firewalld.service s

ansible集中化自动管理(部署LAMP环境)

##ansible集中化自动管理 目标:1.生成公钥,并上传ssh的公钥到被控端主机 2.在ansible的主控端配置本地yum源和网络yum源 3.安装ansible,用ansible上传yum源目录到被控端主机. 4.用ansible管理被控端主机的系统.软件和服务. 5.用playbooks剧本(yaml脚本文件)来管理被控端. 各种网络yum仓库: 6zabbix-2.4: rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/

分离部署lamp环境+xcache

分离部署lamp环境+xcacheLAMP:Linux操作系统+apache+mysql+phpFastCGI 工作机制: 首先客户端发起请求,请求分为 2 种,一种是静态请求它可以直接由 Apache 直接响应返回: 另一种是动态的请求,如其中包含中 php 或者 Perl 这种脚本解释性语言,则由 Apache 服务 器通过 fastcgi 协议调用 php 服务器执行并返回给Apache由 Apache返回解释执行后的结果, 如果这个过程中涉及到对数据的操作,此时 php 服务器还会还会通

使用Ansible部署LAMP环境

使用Ansible部署LAMP环境 前言 Ansible在部署实验环境真的很好用,今天向大家分享如何使用Ansible部署LAMP环境. 实验环境 今天实验环境比较简单, 所以就不画图了 主机 IP地址 功用 server1.anyisalin.com 172.16.1.2 控制主机 web.anyisalin.com 172.16.1.3 httpd和php data.anyisalin.com 172.16.1.4 MySQL 实验步骤 配置ssh公钥认证 ansible是agentless

一台centos7主机部署LAMP,提供https服务

在一台centos7上部署LAMP以及xcache并安装分别在2个虚拟主机上部署wordpress和php-myadmin且为phpmyadmin提供https服务: #用rpm包快速部署 :LAMP 1.yum安装: yum  install  -y      httpd   php    php-mysql  php-gd   php-mbstring   php-xml    mariadb-server  mod_ssl Installed: httpd.x86_64 0:2.4.6-4

Centos7下的LAMP环境搭建

参考网站:http://www.cnblogs.com/mchina/archive/2012/05/17/2507102.html http://www.osyunwei.com/archives/5910.html http://www.luoxiao123.cn/centos-yum-lnmp.html http://blog.sina.com.cn/s/blog_66ac09390101ivep.html Centos7.0   lamp环境搭建 CentOS 7.0默认使用的是fire

Centos7.3 部署 LAMP 架构动静分离

一.LAMP动静分离当需要搭建一个高效的web架构时,采用动静分离无疑是最好的选择,这篇博文将写下来LAMP的动静分离部署方式. 所谓LAMP?LAMP架构是目前最成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态web站点服务及其应用开发环境.与之并肩的还有LNMP.LTMP等,LAMP说白了就是Linux操作系统上安装Apache网站服务,构建php/perl/Python运行环境来连接mysql数据库,四个组件合起来就简称"LAMP". LNMP只不过

一键安装lamp环境 centos

linux centos yum安装LAMP环境 /*************链接**************/http://www.cnblogs.com/suger/p/3832093.html centos 6.5 1.yum安装和源代码编译在使用的时候没啥区别,但是安装的过程就大相径庭 了,yum只需要3个命令就可以完成,源代码需要13个包,还得加压编译,步骤很麻烦,而且当做有时候会出错,源代码编译安装大概需要2个小时,好处在于 可以自己配置地址等一些参数,yum安装半个小时搞定,一般不

CentOS7.X基于LAMP环境搭建cacti

1.搭建好LAMP环境 2.登录数据库创建cacti create database cacti default character set utf8; 创建cacti的账户密码 grant all privileges on cacti.* to [email protected] identified by 'cacti'; 3.下载cacti的文件包(安装wget      yum install wget -y) wget http://www.cacti.net/downloads/c