第24章,LAMP 一键安装脚本

更多内容请点击:

Linux学习从入门到打死也不放弃,完全笔记整理(持续更新,求收藏,求点赞~~~~)

http://blog.51cto.com/13683480/2095439

脚本1:yum安装 lamp+wordpress

# 自行配置好yum源

# 第一步,安装并启动服务
yum -y install httpd mariadb-server php php-mysql
echo -e "\e[1;31mstarting service....\e[0m"
systemctl start httpd mariadb

# 第二步,添加mysql授权账号,新建数据库wordpress
mysql -e "grant all on *.* to 'wpuser'@'localhost' identified by 'PASSWORD';"
mysql -e "create database wordpress;"

# 第三步,下载wordpress,并解压
echo -e "\e[1;31mget the wordpress package....\e[0m"
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
unzip wordpress-4.9.4-zh_CN.zip
cp -a wordpress/* /var/www/html/
chown -R apache:apache /var/www/html

# 第四步,准备配置文件
cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
sed -i 's/database_name_here/wordpress/' /var/www/html/wp-config.php
sed -i 's/username_here/wpuser/' /var/www/html/wp-config.php
sed -i 's/password_here/PASSWORD/' /var/www/html/wp-config.php

# 第五步,重启服务
echo -e "\e[1;31mrestarting httpd....\e[0m"
systemctl restart httpd
echo -e "\e[1;31mjob done....\e[0m"

脚本2,yum安装lamp-fpm + wordpress

# 自行配置好yum源

# 第一步,安装并启动服务
yum -y install httpd mariadb-server php-fpm php-mysql
echo -e "\e[1;31mstarting service....\e[0m"

echo -e 'DirectoryIndex index.php' > /etc/httpd/conf.d/fcgi.conf
echo -e 'ProxyRequests Off' >> /etc/httpd/conf.d/fcgi.conf
echo -e 'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1' >>/etc/httpd/conf.d/fcgi.conf

systemctl start httpd mariadb php-fpm

# 第二步,添加mysql授权账号,新建数据库wordpress
mysql -e "grant all on *.* to 'wpuser'@'localhost' identified by 'PASSWORD';"
mysql -e "create database wordpress;"

# 第三步,下载wordpress,并解压
echo -e "\e[1;31mget the wordpress package....\e[0m"
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
unzip wordpress-4.9.4-zh_CN.zip
cp -a wordpress/* /var/www/html/
chown -R apache:apache /var/www/html

# 第四步,准备配置文件
cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
sed -i 's/database_name_here/wordpress/' /var/www/html/wp-config.php
sed -i 's/username_here/wpuser/' /var/www/html/wp-config.php
sed -i 's/password_here/PASSWORD/' /var/www/html/wp-config.php

# 第五步,重启服务
echo -e "\e[1;31mrestarting httpd....\e[0m"
systemctl restart httpd
echo -e "\e[1;31mjob done....\e[0m"

脚本3:编译安装LAMP(module/fpm)+ wordpress + phpmyadmin

# 编译安装LAMP
#
##############################################################################################
# 安装程序顺序
# mariadb:通用二进制格式:mariadb-10.2.15
#       下载地址:

#       需提前准备好二进制安装包
# httpd:       编译安装,http-2.4.33
#       下载地址:
#        http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.tar.bz2 
#        http://mirrors.sohu.com/apache/httpd-2.4.33.tar.bz2
#       需要更新apr,apr-util
#       下载地址:
#       APR: http://mirrors.hust.edu.cn/apache//apr/apr-1.6.3.tar.bz2
#       APR-UTIL: http://mirrors.hust.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2
#
# php7:编译安装,php-7.2.7
#       下载地址:http://mirrors.sohu.com/php/php-7.2.7.tar.bz2
#
# phpmyadmin:安装phpmyadmin4.8.2
#       下载地址:https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-all-languages.zip
# worppress: 版本wordpress-4.9.4
#       下载地址:https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
# 
# xcache:php7 以内置加速功能,不需要安装xcache
#
#############################################################################################
# 安装选项 
# 选择PHP编译方式,"module" or "fpm"

phpmod="fpm"

httpd_dir="/app/httpd24"
httpd_conf_dir="/etc/httpd24"
php_dir="/app/php"

# 安装程序版本,和源码压缩包名
# 注意如果要修改,必须修改下载地址或者自行提供源码包

mariadb_version="mariadb-10.2.15-linux-x86_64"
mariadb_package="${mariadb_version}.tar.gz"
httpd_version="httpd-2.4.33"
httpd_package="${httpd_version}.tar.bz2"
apr_version="apr-1.6.3"
apr_package="${apr_version}.tar.bz2"
apr_util_version="apr-util-1.6.1"
apr_util_package="${apr_util_version}.tar.bz2"
php_version="php-7.2.7"
php_package="${php_version}.tar.bz2"

# 选择应用程序 "yes" or "no"

wdpress="yes"
pma="yes"

# 是否清理源码包 "yes" or "no"

cleantemp="yes"

############################################################################################
# 准备开发环境
echo -e "\e[1;31mPrepare the development environment....\e[0m"

# 开发包组
yum groupinstall "development tools" "Server Platform Development" -y

# 编译 httpd-2.4需要
yum install pcre-devel openssl-devel expat-devel -y

# 编译 php 需要
yum install libxml2-devel bzip2-devel libmcrypt-devel -y

# 下载源程序包
echo -e "\e[1;31mdownload packages....\e[0m"

wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.tar.bz2
wget http://mirrors.hust.edu.cn/apache//apr/apr-1.6.3.tar.bz2
wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2
wget http://mirrors.sohu.com/php/php-7.2.7.tar.bz2

echo -e "\e[1;31munpack the packages....\e[0m"
tar -xf ${httpd_package}
tar -xf ${apr_package}
tar -xf ${apr_util_package}
tar -xf ${php_package}

############################################################################################
# 二进制安装mariadb-10.2.15,程序包需另行下载
echo -e "\e[1;31minstall mariadb....\e[0m"

# 创建账号
groupadd -r -g 306 mysql
useradd -r -u 306 -g 306 -d /data/mysqldb mysql

# 解压缩
tar -xf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv mariadb-10.2.15-linux-x86_64 mysql
cd mysql
chown -R mysql:mysql ./*

# 数据目录和启动脚本
mkdir /data/mysqldb -p
chown -R mysql:mysql /data/mysqldb
./scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

# 配置文件
mkdir /etc/mysql
cp support-files/my-huge.cnf /etc/mysql/my.cnf
sed -i '27a \datadir =\/data\/mysqldb' /etc/mysql/my.cnf
sed -i '27a \innodb_file_per_table = on' /etc/mysql/my.cnf
sed -i '27a \skip_name_resolve = on' /etc/mysql/my.cnf

mkdir /var/log/mariadb -p
touch /var/log/mariadb/mariadb.log
chown mysql:mysql /var/log/mariadb/mariadb.log

# 添加环境变量
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

# 启动服务
echo -e "\e[1;31mstarting mariadb....\e[0m"
service mysqld start

####################################################################
# 源码编译http-2.4.33
echo -e "\e[1;31mstart install httpd....\e[0m"

groupadd -r -g 80 apache
useradd -r -u 80 -g 80 apache

# 下载并解压
cd
cp -a ${apr_version} ${httpd_version}/srclib/apr
cp -a ${apr_util_version} ${httpd_version}/srclib/apr-util

# 编译
cd ${httpd_version}
./configure --prefix=${httpd_dir} --sysconfdir=${httpd_conf_dir} --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-includedapr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

make -j 4 && make install

# 添加环境变量
echo -e "PATH=${httpd_dir}/bin/:\$PATH" > /etc/profile.d/apache.sh
. /etc/profile.d/apache.sh

# 修改配置文件中的user和group,默认是daemon
sed -i '/^User/s/.*/User apache/' ${httpd_conf_dir}/httpd.conf
sed -i '/^Group/s/.*/Group apache/' ${httpd_conf_dir}/httpd.conf

# 启动服务
echo -e "\e[1;31mstarting httpd....\e[0m"
apachectl start

#####################################################################
# 源码编译php
echo -e "\e[1;31mstart install php....\e[0m"
cd
cd ${php_version}/

if [ "$phpmod" = "module" ];then

######################
# 编译php module

./configure --prefix=${php_dir} --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=${httpd_dir}/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --disable-fileinfo

make -j 4 && make install

# 开始编辑配置文件
echo -e "\e[1;31mModify configuration....\e[0m"

cp php.ini-production /etc/php.ini
sed -i '/IfModule mime_module/a \AddType application\/x-httpd-php .php' ${httpd_conf_dir}/httpd.conf
sed -i '/IfModule mime_module/a \AddType application\/x-httpd-php-sourcei .phps' ${httpd_conf_dir}/httpd.conf
sed -i 's/index.html/index.php index.html/' ${httpd_conf_dir}/httpd.conf

######################
elif [ "$phpmod" = "fpm" ];then

# 编译php-fpm
./configure --prefix=${php_dir} --enable-mysqlnd  --with-mysqli=mysqlnd  --with-openssl --with-pdo-mysql=mysqlnd  --enable-mbstring  --with-freetype-dir  --with-jpeg-dir  --with-png-dir  --with-zlib  --with-libxml-dir=/usr  --enable-xml --enable-sockets  --enable-fpm  --with-config-file-path=/etc  --with-config-file-scan-dir=/etc/php.d  --disable-fileinfo 

make -j 4 && make install

# 安装后配置
echo -e "\e[1;31mModify configuration....\e[0m"

cp php.ini-production /etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
 
cd ${php_dir}/etc
cp php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf

# 修改php-fpm程序的用户和组,可选项,不修改也可以
sed -i '/^user =/s/.*/user = apache/' php-fpm.d/www.conf
sed -i '/^group =/s/.*/group = apache/' php-fpm.d/www.conf

# 修改/etc/php.d/*.ini --> /etc/php.d/*.so
# php7.2.7 如果不修改此项,启动会有一堆报错
rename ini so /etc/php.d/*

service php-fpm start

# 配置httpd支持php
sed -i '/IfModule mime_module/a \AddType application\/x-httpd-php .php' ${httpd_conf_dir}/httpd.conf
sed -i '/IfModule mime_module/a \AddType application\/x-httpd-php-sourcei .phps' ${httpd_conf_dir}/httpd.conf
sed -i 's/index.html/index.php index.html/' ${httpd_conf_dir}/httpd.conf
sed -i 's/#\(LoadModule proxy_module modules\/mod_proxy.so\)/\1/' ${httpd_conf_dir}/httpd.conf
sed -i 's/#\(LoadModule proxy_fcgi_module modules\/mod_proxy_fcgi.so\)/\1/' ${httpd_conf_dir}/httpd.conf
echo 'ProxyRequests Off' >> ${httpd_conf_dir}/httpd.conf
echo -e "ProxyPassMatch  ^/(.*\.php)$ fcgi://127.0.0.1:9000${httpd_dir}/htdocs/\$1" >> ${httpd_conf_dir}/httpd.conf

fi

############################################################################################
# 安装wordpress
cd
if [ "$wdpress" = "yes" ];then

# 获取安装包并解压
echo -e "\e[1;31mstart install wordpress....\e[0m"
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
unzip wordpress-4.9.4-zh_CN.zip
cp -a wordpress/* ${httpd_dir}/htdocs/
chown -R apache:apache ${httpd_dir}/htdocs/*

# 添加数据库授权账号,创建数据库
mysql -e "grant all on *.* to 'wpuser'@'localhost' identified by 'centos';"
mysql -e "create database wordpress;"

# 准备配置文件
cp ${httpd_dir}/htdocs/wp-config-sample.php ${httpd_dir}/htdocs/wp-config.php
sed -i 's/database_name_here/wordpress/' ${httpd_dir}/htdocs/wp-config.php
sed -i 's/username_here/wpuser/' ${httpd_dir}/htdocs/wp-config.php
sed -i 's/password_here/centos/' ${httpd_dir}/htdocs/wp-config.php

fi

############################################################################################
# 安装pma
if [ "$pma" = "yes" ];then
echo -e "\e[1;31mstart install phpmyadmin....\e[0m"
yum install php-mbstring -y

# 设置root账号密码
#mysql -e "SET PASSWORD FOR [email protected]'localhost'=PASSWORD('centos');"

# 获取安装包并解压
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-all-languages.zip
unzip phpMyAdmin-4.8.2-all-languages.zip
cp -a phpMyAdmin-4.8.2-all-languages ${httpd_dir}/htdocs/pma
cp ${httpd_dir}/htdocs/pma/config.sample.inc.php ${httpd_dir}/htdocs/pma/config.inc.php

fi

############################################################################################
# php7.0 以上自带加速,所以无需安装xcache
# 清理缓存安装文件
cd
if [ "$cleantemp" = "yes" ];then
        rm -rf ${mariadb_package} 
        rm -rf ${httpd_package}  ${httpd_version}
        rm -rf ${apr_util_package}  ${apr_util_version}
        rm -rf ${apr_package}  ${apr_version}
        rm -rf ${php_package}  ${php_version}
        rm -rf wordpress-4.9.4-zh_CN.zip  wordpress
        rm -rf phpMyAdmin-4.8.2-all-languages.zip  phpMyAdmin-4.8.2-all-languages

fi

############################################################################################
# 重启服务
echo -e "\e[1;31mrestarting httpd....\e[0m"
apachectl restart
echo -e "\e[1;31mjob done....\e[0m"

原文地址:http://blog.51cto.com/13683480/2138859

时间: 2024-07-31 14:27:18

第24章,LAMP 一键安装脚本的相关文章

LAMP一键安装脚本 from:秋水逸冰

Install LAMP(Linux + Apache + MySQL + PHP ) for CentOS/Redhat/Fedora 项目地址:https://github.com/teddysun/lamp 最新版本:2015年01月29日 适用环境: 系统支持:CentOS/Redhat/Fedora 内存要求:≥256M 硬盘要求:2GB以上的剩余空间 服务器必须配置好软件源和可连接外网 必须具有系统 root 权限 建议使用干净系统全新安装 将会安装: 1.Apache 2.4.10

lamp一键安装脚本

#!/bin/bash ##cp -r /usr/local/src/mysql-5.0.41-linux-i686-glibc23 /usr/local/mysql cp -r /usr/local/src/mysql_x86_64 /usr/local/mysql sleep 5 cd /usr/local/src tar xvzf freetype-2.1.9.tar.gz cd /usr/local/src/freetype-2.1.9 ./configure make && ma

CentOS 6、7下IPSEC/L2TP VPN一键安装脚本(openswan+xl2tpd)

CentOS 6.7下IPSEC/L2TP VPN一键安装脚本(openswan+xl2tpd) 概念性的东西这里不再赘述,网上有太多,一键安装脚本也有很多,但是很多不能用,能用的也仅仅只是在CentOS6下使用,CentOS7基本没看到这些安装脚本.于是花了一些时间来折腾测试,写这个脚本方便以后VPN的一键安装搭建.其中用的开源软件包是openswan和xl2tpd,,中间碰到过很多很多问题,如openswan和xl2tpd之间的兼容性问题. 请容许我这样做,脚本依赖<OneinStack>

LAMP一键安装(Python版)

去年有出一个python整的LAMP自动安装,不过比较傻,直接调用的yum 去安装了XXX...不过这次一样有用shell..我也想如何不调用shell 来弄一个LAMP自动安装部署啥啥的..不过尼玛智商有限,没搞定,暂且分享一下 先说说目前的缺陷     这个脚本总体来说是调用一个字典,组成这个字典是最花费时间的,实际代码到是没几行,本来想把Nginx 的部署也加进去,什么memcached phpmyadmin apc 这样的常用组件作为功能加进去,尼玛,时间不够,只能打打酱油,包括最后我也

ss-panel(ss-R)前后端一键安装脚本(转)

ss-panel(ss-R)前后端一键安装脚本 前几天分享了ss-panel前后端的搭建教程,现在为了练习自己的技术,写了个一键安装脚本! 请注意,本脚本仅仅适用于centos7.* 最新更新:2016/11/5 本脚本包括以下功能: 使用rpm方式搭建LNMP,比市场上的LNMP一键安装包更高效,同时减轻了CPU负担,安装的时间段而且不会安装太多依赖 安装是依赖最新的SS-panel的源码,以及最新ss-rm的代码 本脚本集成了对LNMP以及ss的前端和后端,但是部分依然需要手动操作,请看详细

树莓派:L2TP/IPsec VPN 服务器一键安装脚本

经试验,在树莓派上一次成功,很好用,谢谢原作者!!!此文转自:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md IPsec VPN 服务器一键安装脚本 使用 Linux Shell 脚本一键快速搭建 IPsec VPN 服务器.支持 IPsec/L2TP 和 Cisco IPsec 协议,可用于 Ubuntu,Debian 和 CentOS 系统.你只需提供自己的 VPN 登录凭证,然后运行脚本自动完成安装. I

CentOS 6、7下pptp vpn一键安装脚本

之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用,直接复制或下载执行即可,不用依赖安装包的其它脚本. CentOS 6.7下pptp vpn一键安装脚本,安装如下: wget http://mirrors.linuxeye.com/scripts/vpn_centos.sh chmod +x ./vpn_centos.sh ./vpn_centos.sh

Ubuntu Or Debian L2TP VPN 一键安装脚本

#!/bin/bash if [ $(id -u) != "0" ]; then printf "Error: You must be root to run this tool!\n" exit 1 fi clear printf " #################################################### # # # This is a Shell-Based tool of l2tp installation # #

Centos7搭建pptp VPN一键安装脚本

Centos7搭建pptp一键安装脚本 废话不多说,先上脚本地址:Centos7一键pptp 使用: wget https://raw.githubusercontent.com/DanylZhang/VPS/master/CentOS7-pptp-host1plus.sh chmod +x ./CentOS7-pptp-host1plus.sh ./CentOS7-pptp-host1plus.sh -u your_username -p your_password 1 2 3 可在-u.-p