【个人专用入门级】LAMP一键安装包
最近自学了下Shell编程,也算是入门吧!按照如下教程,编译安装了LAMP(Apache-2.4.6 + MySQL-5.5.25 + PHP-5.3.27)
CentOS6.3编译安装LAMP(1):准备工作
CentOS6.3编译安装LAMP(2):编译安装 Apache2.2.25
CentOS6.3编译安装LAMP(2):编译安装 Apache2.4.6
CentOS6.3编译安装LAMP(3):编译安装 MySQL5.5.25
CentOS6.3编译安装LAMP(4):编译安装 PHP5.2.17
CentOS6.3编译安装LAMP(4):编译安装 PHP5.3.27
在生产环境上,如果按着上述教程一个一个地去安装,势必有些麻烦,于是萌发了一个念头:能不能把这些Shell脚本汇总到一个脚本中,实现自动化安装呢?答案是可以的。
【个人专用&入门级】LAMP一键安装包
软件版本:
Apache-2.4.6 + MySQL-5.5.25 + PHP-5.3.27
运行环境:
目前仅在CentOS-5.5(32位)上试验并编译通过,后续会在CentOS6.3上试验下,包括64位系统。
源码下载:
放在了百度云盘,点击进入下载页面,需要下载的文件及文件夹清单如下:
Apache-2.4.6
MySQL-5.5.25
PHP-5.3.27
phpMyAdmin-3.5.8
Config
Shell
lamp.sh
把它们上传到Linux主机的某个目录下即可,如 /usr/local/src 目录
运行方式:
chmod +x ./lamp.sh && ./lamp.sh
部分Shell脚本预览
lamp.sh
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH ################################################################### ## author: snsgou.com ## website: http://www/snsgou.com/lamp ## version: 0.1 ####################################################################需要切换到root用户 if [[ $EUID -ne 0 ]]; thenecho "This script must be run as root"exit 1 fichmod -R 755 ./*CUR_PATH=$(pwd) CONFIG_PATH="$CUR_PATH/Config" SHELL_PATH="$CUR_PATH/Shell"action=$1 [[ -z $1 ]] && action=install case "$action" ininstall)source $SHELL_PATH/lamp_install.sh;;uninstall)source $SHELL_PATH/lamp_uninstall.sh;;add)source $SHELL_PATH/vhost_add.sh;;del)source $SHELL_PATH/vhost_del.sh;; esac
Shell/lamp_install.sh
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH ################################################################### ## author: snsgou.com ## website: /article/detail/702 ## version: 0.1 ####################################################################当前路径检测 if [[ -z $CUR_PATH ]]; thenecho '$CUR_PATH is not defined'exit 1 fi################################################################### ## 全局变量 ####################################################################网站目录(暂不支持修改) SITE_PATH='/var/www'#Apache2.4的mpm选择(可修改) # prefork (Recommend); worker (Multi-threaded); event (Multi-threaded,not support ssl.) Apache_MPM=prefork #MySQL的root密码(可修改) MySQL_ROOT_PWD='123456'#MySQL的data目录(暂不支持修改) MySQL_DATA_PATH='/usr/local/mysql/data'#设置时区 rm -rf /etc/localtime \cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime################################################################### ## 准备工作 ####################################################################卸载已存在的rpm包 rpm -e httpd rpm -e mysql rpm -e phpyum -y remove httpd yum -y remove mysql-server mysql yum -y remove php yum -y remove php-mysqlyum -y install yum-fastestmirror#selinux可能会致使编译安装失败,我们先禁用它 setenforce 0#yum安装必要工具 yum -y install gcc gcc-c++ kernel-devel ntp vim-enhanced flex bison autoconf make automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel libtool libtool-ltdl openssl openssl-devel fontconfig-devel libxml2-devel curl-devel libicu libicu-devel libmcrypt libmcrypt-devel libmhash libmhash-devel pcre-devel libtool-libs gd file patch mlocate diffutils readline-devel glibc-devel glib2-devel libcap-devel################################################################### ## 安装 Apache-2.4 ####################################################################安装 apr cd $CUR_PATH/Apache-2.4.6 rm -rf ./apr-1.4.6 tar -xzvf ./apr-1.4.6.tar.gz cd ./apr-1.4.6 mkdir /usr/local/apr ./configure --prefix=/usr/local/apr make && make install#安装 apr-util cd $CUR_PATH/Apache-2.4.6 rm -rf ./apr-util-1.4.1 tar -xzvf ./apr-util-1.4.1.tar.gz cd ./apr-util-1.4.1 mkdir /usr/local/apr-util ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config make && make install#安装 pcre cd $CUR_PATH/Apache-2.4.6 rm -rf ./pcre-8.33 tar -xzvf ./pcre-8.33.tar.gz cd ./pcre-8.33 mkdir /usr/local/pcre ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config make && make install#切换到Apache源码目录 cd $CUR_PATH/Apache-2.4.6 rm -rf ./httpd-2.4.6 tar -xzvf ./httpd-2.4.6.tar.gz cd ./httpd-2.4.6#生成configure ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-deflate=shared --enable-expires=shared --enable-ssl=shared --enable-headers=shared --enable-rewrite=shared --enable-static-support --with-mpm=$Apache_MPM#编译 make && make install#使用init脚本管理httpd #\cp -f ./build/rpm/httpd.init /etc/init.d/httpd \cp -f $CONFIG_PATH/httpd-2.4.6.init /etc/init.d/httpd#增加执行权限 chmod 755 /etc/init.d/httpd#添加httpd到服务项,并设置开机启动 chkconfig --add httpd chkconfig --level 2345 httpd on #chkconfig --list httpd #查看是否设置成功#建立httpd的软链接,到时候,Apache的配置文件路径为 /etc/httpd/conf/httpd.conf, #其实真实路径为 /usr/local/apache/conf/httpd.conf rm -rf /etc/httpd mkdir /etc/httpd ln -sf /usr/local/apache/conf /etc/httpd/conf#设置软链接以适应init脚本 ln -sf /usr/local/apache/bin/httpd /usr/sbin/httpd ln -sf /usr/local/apache/bin/apachectl /usr/sbin/apachectlrm -rf /var/log/httpd/ ln -s /usr/local/apache/logs /var/log/httpd#添加apache用户组及用户 groupadd apache useradd -g apache -s /usr/sbin/nologin apache chown -R apache:apache /usr/local/apache#新建网站目录 rm -rf $SITE_PATH/html mkdir -p $SITE_PATH chmod -R 755 $SITE_PATH \cp -f $CONFIG_PATH/httpd-vhosts-2.4.6.conf /etc/httpd/conf/extra/httpd-vhosts.conf mkdir -p /usr/local/apache/conf/vhost touch /usr/local/apache/conf/vhost/none.conf \cp -f $CONFIG_PATH/httpd-2.4.6.conf /usr/local/apache/conf/httpd.conf \cp -f $CONFIG_PATH/index.html $SITE_PATH/index.html \cp -f $CONFIG_PATH/p.php $SITE_PATH/p.php \cp -f $CONFIG_PATH/phpinfo.php $SITE_PATH/phpinfo.php#启动Apache #service httpd startecho "############################# Apache-2.4 install completed #############################"################################################################### ## 安装 MySQL-5.5 ####################################################################安装cmake cd $CUR_PATH/MySQL-5.5.25 rm -rf ./cmake-2.8.8 tar -xzvf ./cmake-2.8.8.tar.gz cd ./cmake-2.8.8 ./configure make && make install#解压MySQL cd $CUR_PATH/MySQL-5.5.25 rm -rf ./mysql-5.5.25 tar -xzvf ./mysql-5.5.25.tar.gz cd ./mysql-5.5.25mkdir -p $MySQL_DATA_PATH groupadd mysql useradd -g mysql -s /usr/sbin/nologin mysql#cmake编译 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=$MySQL_DATA_PATH -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_unicode_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_DEBUG=0#安装 make && make install#复制配置文件 #\cp ./support-files/my-medium.cnf /etc/my.cnf \cp -f $CONFIG_PATH/my-5.5.25.cnf /etc/my.cnf#设置权限 chmod +x /usr/local/mysql chmod +w /usr/local/mysql chown -R mysql:mysql /usr/local/mysql#添加MySQL的软链接以适应init脚本 ln -sv /usr/local/mysql/bin/mysql /usr/sbin/mysql ln -sv /usr/local/mysql/bin/mysqladmin /usr/sbin/mysqladmin ln -sv /usr/local/mysql/bin/mysqldump /usr/sbin/mysqldump#初始化数据库 /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=$MySQL_DATA_PATH#配置开机自动启动 \cp -f ./support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig --level 2345 mysqld on #chkconfig --list mysqld #查看是否已应用上#启动MySQL service mysqld start#设置root密码 /usr/local/mysql/bin/mysqladmin password $MySQL_ROOT_PWD mysql -uroot -p$MySQL_ROOT_PWD <<EOF drop database test; delete from mysql.user where user=''; update mysql.user set password=password('$MySQL_ROOT_PWD') where user='root'; delete from mysql.user where not (user='root') ; flush privileges; exit EOFecho "############################# MySQL-5.5 install completed #############################"################################################################### ## 安装 PHP-5.3 ####################################################################安装 libmcrypt cd $CUR_PATH/PHP-5.3.27 rm -rf ./libmcrypt-2.5.8 tar -xzvf ./libmcrypt-2.5.8.tar.gz cd ./libmcrypt-2.5.8 ./configure --prefix=/usr make && make install#安装 mhash cd $CUR_PATH/PHP-5.3.27 rm -rf ./mhash-0.9.9.9 tar -xzvf ./mhash-0.9.9.9.tar.gz cd ./mhash-0.9.9.9 ./configure --prefix=/usr make && make install#安装 mcrypt /sbin/ldconfig #搜索出可共享的动态链接库 cd $CUR_PATH/PHP-5.3.27 rm -rf ./mcrypt-2.6.8 tar -xzvf ./mcrypt-2.6.8.tar.gz cd ./mcrypt-2.6.8 ./configure make && make install#安装 libiconv cd $CUR_PATH/PHP-5.3.27 rm -rf ./libiconv-1.14 tar -xzvf ./libiconv-1.14.tar.gz cd ./libiconv-1.14 ./configure --prefix=/usr/local/libiconv make && make install#安装 PHP-5.3.27 cd $CUR_PATH/PHP-5.3.27 rm -rf ./php-5.3.27 tar -xzvf ./php-5.3.27.tar.gz cd ./php-5.3.27 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --with-bz2 --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-mcrypt --with-mhash --with-gettext --with-iconv=/usr/local/libiconv --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --enable-gd-native-ttf --enable-mbstring --enable-zip --enable-ftp --enable-soap --enable-sockets --enable-bcmath --without-pear make && make install#复制配置文件php.ini #\cp ./php.ini-development /etc/php.ini \cp -f $CONFIG_PATH/php-5.3.27.ini /etc/php.ini mkdir /etc/php.d#重启Apache #service httpd restart#添加SELINUX规则 chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.soecho "############################# PHP-5.3 install completed #############################"################################################################### ## 安装 phpMyAdmin-3.5.8 ###################################################################cd $CUR_PATH/phpMyAdmin-3.5.8 rm -rf ./phpMyAdmin-3.5.8.2-all-languages tar -xzvf ./phpMyAdmin-3.5.8.2-all-languages.tar.gz mv ./phpMyAdmin-3.5.8.2-all-languages $SITE_PATH/phpmyadmin chmod -R 755 $SITE_PATH/phpmyadmin chown -R apache:apache $SITE_PATH/phpmyadmin \cp -f $CONFIG_PATH/phpMyAdmin-3.5.8-config.inc.php $SITE_PATH/phpmyadmin/config.inc.php#启动Apache service httpd startecho "############################# phpMyAdmin-3.5.8 install completed #############################"################################################################### ## 更改网站目录权限 ###################################################################chown -R apache:apache /usr/local/apache chown -R apache:apache $SITE_PATH chmod -R 755 $SITE_PATH
整个过程编译下来,大概花了 1小时20分钟!
【个人专用入门级】LAMP一键安装包相关推荐
- LAMP一键安装包(Python版)
去年有出一个python整的LAMP自动安装,不过比较傻,直接调用的yum 去安装了XXX...不过这次一样有用shell..我也想如何不调用shell 来弄一个LAMP自动安装部署啥啥的..不过尼玛 ...
- phpStudy for Linux (lnmp+lamp一键安装包)
phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd, 支持php5.2/5.3/5.4/5.5切换 已经在centos-6.5,debian-7.4. ...
- lamp一键安装包的一些注意点
官网地址:https://lnmp.org/ 默认的网站根路径:/home/wwwroot/default 默认禁止的函数:disable_functions = passthru,exec,syst ...
- 推荐一个lamp的一键安装包
本来我是一直用的nginx的,现在安全者的服务器是用的tengine,稳定性就不用多说了! 前段时间用thinkphp写了两个两个项目,刚开始放到了国外的服务器上,环境也是lnmp的,最后发现ngin ...
- php iis 一键安装包,phpstudy 2015iis服务器专用版-phpStudy for IIS(支持IIS7/8/6)下载2015.0.0一键安装包-西西软件下载...
phpStudy for IIS(支持IIS7/8/6)是一款php一键安装包 for IIS7/8/6IIS服务器专用,软件集成php5.2/5.3/5.4+mysql+phpmyadmin+sql ...
- LNMP-Linux下Nginx+MySQL+PHP+phpMyAdmin+eAcelerator一键安装包
LNMP是一个基于CentOS编写的Nginx.PHP.MySQL.phpMyAdmin.eAcelerator一键安装包.可以在VPS.独立主机上轻松的安装LNMP生产环境. 本页面为LNMP fo ...
- LNMP一键安装包+Thinkphp搭建基于pathinfo模式的路由(可以去除url中的.php)
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独立主机安装LNMP(Ngin ...
- LNMP.org一键安装包
系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要3GB以上硬盘剩余空间 128M以上内存,Xen的需要有SWAP,OpenVZ的另外 ...
- lnmp 一键安装包
系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux发行版 需要5GB以上硬盘剩余空间,MyS ...
- 安装 - LNMP一键安装包
系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin Server/Aliyun/Amazon/Mint Linux发行版 需要5GB以上硬盘剩 ...
最新文章
- 开源组织:Datawhale
- [Python图像处理] 十二.图像几何变换之图像仿射变换、图像透视变换和图像校正
- 网络安全隐性杀手:三类危险的TXT文件
- [Abp 源码分析]ASP.NET Core 集成
- 解封装(四):avformat_find_stream_info探测获取封装上下文并打印
- Informix onstat 常用的监控选项解释
- 【转】Eclipse,MyEclipse快捷键及字体设置
- 简单的关闭iframe窗口和获取父页面元素
- 盛大 传奇 的网游启示录
- 什么是软件架构?常用的软件架构
- 文件存储NAS与对象存储OSS
- 【UVA12235 Help Bubu】
- 华为云获TFC“年度最佳云服务商”金苹果奖
- 批量上传不同图片(网易邮箱添加附件的应用)
- html 边框素材,2000+ 精美蕾丝、花边、边框素材
- FuntouchOS跟鸿蒙系统,FuntouchOS10.5安装包
- 网络舆情信息工作怎么做的措施及建议
- 【echarts地图制作】下钻到乡镇/街道级别的
- 获取linux命令硬盘信息,Linux 下使用命令获取硬盘信息
- 单片机硬件和软件延时是啥意思?
热门文章
- 数据结构与算法之图的深度优先遍历(DFS)
- pdf python 合同_Python实现将doc转化pdf格式文档的方法 如何用python代码生成pdf格式的合同文件...
- 小米手机隐私相册在哪?将你的照片锁进“保险柜”
- VBA读excel写xml
- PHP从入门到精通 第3版pdf
- dw做html电邮,DreamWeaver中表单的使用和电子邮件表单的制作
- 基于bert的情感分类
- 工作流软件哪个好?介绍几款知名的工作流软件
- 如何解决WIN10提示0x8007007b错误问题
- 学习Coverity codexm的一些资料