linux上linux安装lamp环境了lamp,但是默认的文档目录/var/www/html是属于root的,为了安全和方便,如何控制文件权限?

LAMP安装配置超详细讲解!-红联Linux系统门户
您的位置:
&& 查看内容 - - -
LAMP安装配置超详细讲解!
szlfeng发布于
&&字号: &&&&(网友评论&11&条)&
LAMP 安装 配置
操作系统:Redhat Enterprise AS 4
已安装包:httpd2.0.4, mysql4.1,libxml2.6.16, zlib1.2.1.2,gd2.0.28, libpng1.2.7
说明:网上的各种安装说明都不是很好地说明了配置参数的来由,本文将尽可能标明每一步的必要性.已安装包不是必需的,其中mysql可以独立安装,而rpm包形式的httpd因为不是mod-so形式安装的,如果要支持php或者其它模块,要强制remove重安装编码版本. #rpm --nodeps --erase httpd
其它php可能需要的模块功能说明:
libxml2: xml解析库
zlib: 开源压缩库
gd: 图形库
libpng: 用来处理png图像格式文件的库
freetype: TrueType字体绘制引擎
ZendOptimizer:
然后下载文件mysql,apache,php,请到下面网址下载相应软件
第一步:安装apache
进入安装目录,依次执行下面命令:
解压源码包
# tar -zxf httpd-2.0.55.tar.gz
进入安装目录
# cd httpd-2.0.55
配置apache安装信息, 配置安装后目录,模块动态配置,允许重写重配置
# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite
执行make安装
# make install
第二步:配置apache
修改httpd.conf文件
//ServerName 修改主机名称,若无dns,则用IP替代
ServerName 192.168.36.163:80
//DocumentRoot 修改文档路径,就是要放置目标网页的地方
DocumentRoot "/var/www/html"
//DirectoryIndex 修改默认的首页名称
DirectoryIndex index.html index.php index.htm
第三步:安装PHP
进入安装目录,依次执行下面命令:
解压源码包
# tar -zxf php-5.0.5.tar.gz
进入安装目录
cd php-5.05
配置php安装信息, 配置安装后目录,模块动态配置,允许重写重配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype --enable-mbstring
'./configure' '--prefix=/usr/local/php' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-mysql=/usr/local/mysql/' '--with-mssql=/usr/local/freetds/' '--with-curl=/usr/local/curl '
其中./configure 后的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir
--enable-mbstring
是必要的选项
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
这是让PHP支持GD库的配置选项
执行make安装
# make install
第四步:配置 httpd.conf让apache支持PHP
# vi /usr/local/apache/conf/httpd.conf
php安装完后会自动在httpd.conf加上下面一行(若无,请手动添加):
LoadModule php5_module
modules/libphp5.so
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
重启apache
# /usr/local/apache/bin/apachectl restart
附:apache的一些重要配置选项
1 Directory
Options FollowSymLinks
AllowOverride None
Order deny,allow
#说明先执行denny,再执行allow
allow from all
#此句是允许所有地址访问,在这可设置具体IP的访问权限
2 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" #脚本路径
3 redirects (http return status code)
ErrorDocument 500 "The server made a boo boo."
ErrorDocument 404 /missing.html
ErrorDocument 404 "/cgi-bin/missing_handler.pl"
ErrorDocument 402
呵呵,我开始学PHP了,学习PHP首先要学会搭建一个LAMP(Linux+Apache+Mysql+Php),我配置了一天才配置成功,安装文档全部都是中文,还好有老师在旁边一步一步的给我细心的讲解,我才配置出来,在这里我要谢谢我的老师!
好了,下面我就给大家介绍配置LAMP的每一步,大家按照我的步骤来做肯定能配置成功,也省去了大家看心疼的英文的时间了。
我用的操作系统是Red Hat Linux9,Apache:httpd-2.0.53.tar.gz,Mysql:mysql-standard-4.1.10-pc-linux-gnu-i686.tar.gz,PHP:php-4.3.10.tar.bz2.
首先检查操作系统是否已经安装了Apache、Mysql、PHP,如果已经安装的话将其删除掉。
以检查是否安装Mysql为例:
#rpm Cqa |grep Ci mysql
如果有显示任何软件包,则使用
#rpm -e 软件包名称 --nodeps 删除
我们可以也可以用下面的方法将已经安装的Mysql删除:
#for i in `rpm Cqa|grep Ci mysql`
>do rpm Ce $i Cnodeps
检查完之后我们开始安装Apache、Mysql和PHP。
一、安装Apahce服务器
#tar -zxvf httpd-2.0.53.tar.gz -C /usr/local //将Apahce2解压缩到/usr/local目录下
#./configure --enable-so
#make install
二、安装PHP
#tar -zjvf php-4.3.10.tar.bz2 //解压缩PHP软件包
#cd ../php-4.3.10 //进入到PHP解压缩的目录
#./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql
#make install
#cp php.ini-dist /usr/local/lib/php.ini //将php.ini-dist文件拷贝到/usr/local/lib文件夹下名称为php.ini
#cd /usr/local/apahce2/conf //进入/usr/local/apache2/conf文件夹
#vi http.conf //进入http.conf文件
PHP4:LoadModule php4_module libexec/libphp4.so
PHP5:LoadModule php5_module libexec/libphp5.so
添加解析,为Apahce添加PHP支持,加入:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
加入后保存退出wq。
#/usr/local/apache2/bin/apachectl start //启动Apahce服务
有时候会发现错误系统默认打开的IP地址和端口号没有指定,修改方法:
#cd /usr/local/apache2/conf
#vi http.conf
/ServerName
找到ServerName ,将其改为ServerName 127.0.0.1:80
修改完后保存退出wq。
现在再重新启动Apahce服务就OK了!
我们可以打开浏览器,输入http://你的服务器地址测试Apahce是否配置成功,如果成功就会出现Apahce服务器的“羽毛”标志。同时也表明在/usr/local/apahce2/htdocs文件夹配置静态网页,配置成功Apache可以显示静态网页。例如:,配置成功就会出现Apahce服务器“羽毛”标志了。
下面我们来编写一个简单的PHP网页来测试PHP是否配置成功
#cd /usr/local/apahce2/htdocs //进入/usr/local/apache2/htdocs文件夹下,进行编写PHP动态网页
#vi test.php //建立test.php
PHPinfo(); //编写一个PHP测试页
编写完之后保存退出wq。
好了,然后我们重启一下Apahce服务就可以看见PHP测试页了。#/usr/local/apache2/bin/apachectl restart
然后打开浏览器在地址栏里输入
会显示出来Apahce、PHP和服务器的相关信息。
#tar -zxvf mysql-standard-4.1.10-pc-linux-gnu-i686.tar.gz //解压缩Mysql数据包
#cd mysql-standard-4.1.10-pc-linux-gnu-i686 //进入Mysql解压缩目录
#groupadd mysql //添加mysql组
#useradd -g mysql mysql //添加mysql用户并且添加到mysql组中
#cd /usr/local //进入/usr/local文件夹
#gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf - //先用tar解包,输出的数据给gunzip解包
#ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql //建立软链接mysql到当前目录
#cd /usr/local/mysql //进入/usr/local/mysql文件夹
#scripts/mysql_install_db --user=mysql //初始化Mysql数据库,scripts:目录名称;--user=mysql:mysql用户对mysql数据库进行初始化
#chown -R root .
#chown -R mysql data
#chgrp -R mysql .
#bin/mysqld_safe --user=mysql &
Linux简单安装Mysql+Apach+PHP+phpMyAdmin
Linux简单安装Mysql+Apach+PHP+phpMyAdmin
日 星期一 上午 01:00
从网上看到许多Apache+Mysql+PHP的安装文档,但有的总是会有写错误,最近我根据网上找的一些文档,并改正其中的错误,写了一个详细的安装步骤,以供大家的学习和参考,如果有错误并加以更正 :
我的系统是redhat as5 建议大家完全安装,以免安装时缺少相关的编译器等等。
一、安装mysql(mysql-5.0.21.tar.gz)
# tar zxf mysql-5.0.21.tar.gz
# cd mysql-5.0.21
#./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql/
#prefix=/usr/local/mysql mysql安装的目标目录
#sysconfdir=/etc my.ini配置文件的路径
#localstatedir=/var/lib/mysql 数据库存放的路径
# make install
# groupadd mysql
# useradd mysql -g mysql
# cp support-files/f /f
#(这个文件夹是原来编译的目录下的)询问你是否要覆盖时,输入"y"
#/usr/local/mysql/bin/mysql_install_db --user=mysql
# cd /usr/local/mysql
然后设置权限
# chown -R root .
#设定root能访问/usr/local/mysql
# chown -R mysql /var/lib/mysql
#设定mysql用户能够访问/var/lib/mysql
# chgrp -R mysql /usr/local/mysql
#设定mysql组能访问/usr/local/mysql
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
#安全启动mysql
# PATH=$PATH:/usr/local/mysql/bin
//让系统找到mysql
# export PATH
# echo"/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
# ldconfig -v
二、安装apache (httpd-2.0.59.tar.gz)
# tar zxf httpd-2.0.59.tar.gz
# cd httpd-2.0.59
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most
--enable-so选项:让Apache可以支持DSO模式,注意,这里采用的是Apache2.0的语法。如果你的Apache是1.3版本,应改为--enable-module=so。
--enable-mods-shared=most选项:告诉编译器将所有标准模块都编译为DSO模块。你要是用的是Apache1.3,改为--enable-shared=max就可以。
--enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为--enable-module=rewrite。
# make install
# vi /usr/local/apache/conf/httpd.conf #启动Apache中的php选项,找到下面两行
DirectoryIndex index.php
#修改默认启动页
DocumentRoot
#指定主目录(/usr/local/apache2/htdocs)
ServerName 127.0.0.1:80
# /usr/local/apache/bin/apachectl start
三、安装php (php-5.1.6.tar.bz2)
# tar jxf php-5.1.6.tar.bz2
# cd php-5.1.6
# ./configure --with-apxs2=/usr/local/apache/bin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/local/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib
? --with-apxs2=/usr/local/apache/bin/apxs \
这是加入apache中为DSO模块的位置
? --disable-debug \ #关闭php内部调试
? --enable-safe-mode \ #打开php的安全模式
? --enable-trans-sid \
? --with-xml \ #支持xml
? --with-mysql \ #支持mysql
? --enable-short-tags \ #支持PHP的短标记
? --with-gd \ #支持GD库
? --with-zlib \ #支持zlib
? --with-jpeg \
? --with-png \
? --enable-memory-limit \
? --disable-posix \
? --with-config-file-path=/usr/local/lib
总之复制粘贴就可以了,-_-
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
注意:如果说mysql+apache 都是默认安装,configure配置方法
# ./configure --with-apxs2=/usr/sbin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/share/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib
# make install
# cp php.ini-dist /usr/local/lib/php.ini 复制php的配置文件
# cd /usr/local/lib/
# vi php.ini
修改配置文件
register_globals = On 一般在414行
max_execution_time = 30 ; // 改为600 (增加处理脚本的时间限制)
max_input_time = 600 ; //最大输出时间600秒
memory_limit = 8M ; //改为40M (这样才能发10M的附件)
register_global =On
post_max_size = 2M ; //php可接受的 post 方法大小 2M
file_uploads = O //允许上载文件
upload_max_filesize = 2M ; //最大上载文件2M
session.auto_start = 1 ; //session自动启动
如果编译PHP:make出错
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore.
解法:   
如果不知道 header file 在哪,用 「find / -name mysql.h」命令找出其位置;   
如果是自己也有手影惭b MySQL 套件的,直接指定位置。
在 ./configure 下参数指定 header file 的位置(即mysql安装目录),如下:
./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql=/usr/local/mysql
四、整合apache和php
# vi /usr/local/apache/conf/httpd.conf
修改apache的配置文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
//注意将这两行添加在其它AddType后面
确保文件中有下面一段,如果没有的话就添加在所有LoadModule之后
LoadModule php5_module
modules/libphp5.so
由于我装的版本较高所以是php5,如果是LoadModule php4_module
modules/libphp4.so的话也可以
# /usr/local/apache/bin/apachectl start
//如果这地方报如下错
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一个SELinux保护模式引起的。
解决办法:
1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
这个方法可能会对服务器带来风险。
2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
server httpd start 报错:启动 httpd:[Wed May 07 02:17:20 2008] [warn] module php4_module is already loaded, skipping
解决办法:查看# vi /usr/local/apache/conf/httpd.conf
是否有二条相同指令LoadModule php4_module
modules/libphp4.so 删除一条,即可
五、安装phpMyAdmin
(phpMyAdmin-2.6.0.tar.gz)
# tar zxf phpMyAdmin-2.6.0.tar.gz
# mv phpMyAdmin-2.6.0 /usr/local/apache/htdocs/
# vi config.inc.php
修改这个文件
$cfg['Servers'][$i]['host']
= 'localhost';
//改成你数据库服务器的主机名或IP地址;
$cfg['Servers'][$i]['user']
// MySQL 数据库的用户名;
$cfg['Servers'][$i]['password']
// MySQL 数据库的密码;
主要修改这几项,保存退出
http://IP/phpMyAdmin-2.6.0
这里可以修改phpMyAdmin-2.6.0这个目录的名字,这样访问比较方便
解决Cannot load /usr/local/apache/modules/libphp5.so的方法
zhanglincon
今天弄一个CentOS,安装httpd-2.2.8 和php-5.2.5,一切顺利。
最后一步重新启动apache报如下错误:
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一个SELinux保护模式引起的。
解决办法:
1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
这个方法可能会对服务器带来风险。
2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
作者: yongshun86&发布日期:
好东西,共分享!{:2_97:}
作者: webex&发布日期:
只能坐板凳了~~~
作者: zeyoung3&发布日期:
好吧。。我也来试试
作者: thinkall&发布日期:
够详细~~~~~~~
作者: mb0y&发布日期:
谢谢楼主,做记号,回头用了再来看。。。
作者: &发布日期:
感谢分享!!!
作者: &发布日期:
太详细了,不过看不懂
作者: mesu&发布日期:
作者: &发布日期:
作者: airen&发布日期:
好强!{:3_107:}
共有评论数 11/每页显示数 10
发表评论,与各位同人交流。回复请点击下方的我要评论按钮(游客可回复),要发表贴子请点击
Linux教程下载?“”(请点击),Linux教程免费下载。
求助Linux问题?论坛有39版块,覆盖所有Linux技术层面。前往“”
 |  |  |  |  |  |  |  |  |  |  |  | 
&2017 红联 Powered by SupSiteLinux系统下更改Apache默认网站目录 | 系统运维
技术交流QQ群:& && && &
现在的位置:
Linux系统下更改Apache默认网站目录
Apache默认的网站目录是在/var/www/html,我们现在要把网站目录更改到/home/wwwroot/web1/htdocs,操作如下
温馨提醒:qihang01原创内容(C)版权所有,转载请注明出处及原文链接
准备工作:
创建目录:
mkdir wwwroot
cd wwwroot
mkdir web1
mkdir htdocs
touch index.php
操作步骤:
1、vi /etc/httpd/conf/httpd.conf
找到 DocumentRoot "/var/www/html" 这一段
#apache的根目录
把/var/www/html 这个目录改为/home/wwwroot/web1/htdocs
再找到 &Directory "/var/www/html"&
#定义apache /var/www/html这个区域
把 /var/www/html改成/home/wwwroot/web1/htdocs
这样我们就把apahce的默认路径改掉了
service httpd restart
#重启Apache服务器
2、访问localhost的时候,会发现访问拒绝,这是为什么呢?
温馨提醒:qihang01原创内容(C)版权所有,转载请注明出处及原文链接
主要是因为你的/home/wwwroot/web1/htdocs的权限是750,apache这个用户没有权限访问,你需要更改掉权限,可以这样改
chmod -R 755 /home/wwwroot/web1/htdocs
然后去访问 发现正常运行了(apache的用户:apache 运行apache的组:apache)
至此,Apache默认网站目录更改成功。
&&&&&>> 本文链接:>> 订阅本站:>> 转载请注明来源: >>
&&系统运维技术交流QQ群:①& ②& ③&
【上篇】【下篇】
您可能还会对这些文章感兴趣!
您必须才能发表留言!
本分类最新文章
日志总数:336篇
评论总数:1030条
分类总数:70个
标签总数:479个
友情链接:35个
网站运行:2137天
最后更新:日
欢迎PR值≥3的IT类技术博客与本站友情链接(申请前请先做好本站链接)
Copyright&
系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接ubuntu系统安装lamp环境和配置的详细步骤
在ubuntu下快速安装LAMP
直接在终端输入命令:
sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql
按提示输入root密码,执行完毕之后既安装好了apache mysql 和php
2.更改文件权限
LAMP组建安装好之后,PHP网络服务器根目录默认设置是在:/var/www。由于Linux系统的安全性原则,该目录下的文件读写权限是只允许root用户操作的,所以我们不能在www文件夹中新建php文件,也不能修改和删除,必须要先修改/var/www目录的读写权限。在界面管理器中通过右键属性不能修改文件权限,得执行root终端命令:sudo chmod 777 /var/www。然后就可以写入html或php文件了。
3.安装phpmyadmin
在终端输入命令:
sudo apt-get install phpmyadmin
按提示输入密码后开始下载安装。在安装过程中会要求选择Web server:apache2或lighttpd,选择apache2,按tab键然后确定。然后会要求输入设置的Mysql数据库密码连接密码 Password of the database&s administrative user。然后将phpmyadmin与apache2建立连接,以我的为例:www目录在/var/www,phpmyadmin在/usr/share/phpmyadmin目录,所以就用命令:sudo ln -s /usr/share/phpmyadmin /var/www 建立连接。
phpmyadmin测试:在浏览器地址栏中打开http://localhost/phpmyadmin。看看phpmyadmin有没有安装成功
4.让apache支持.htm .html .php
打开apache配置文件:
sudo vim /etc/apache2/apache2.conf
在此文件中任意行加入:
AddType application/x-httpd-php .php .htm .html
5.修改apache2默认编码
打开apache配置文件:
sudo vim /etc/apache2/apache2.conf
在任意行加上:
AddDefaultCharset UTF-8
注:每次对apache的配置文件进行修改后需要重启apache才能生效。重启apache的命令为:
sudo /etc/init.d/apache2 restart
LAMP组件经常使用的几个终端命令
重启 apache:sudo /etc/init.d/apache2 restart
重启mysql:sudo /etc/init.d/mysql restart
配置 php.ini:sudo gedit /etc/php5/apache2/php.ini
配置 apache2.conf:sudo gedit /etc/apache2/apache2.conf
配置 my.cnf:sudo gedit /etc/f
PHP CGI :sudo /var/www/cgi-bin/
相关文章:
暂时还没有评论.LAMP最新源码一键安装脚本(定期更新)
Linux+Apache+MySQL+PHP ( 脚本可以选择是否安装+Pureftpd+User manager for PureFTPd+phpMyAdmin ) ,添加虚拟主机请执行lamp/ vhost.sh脚本 。脚本中用到的软件包大多最新稳定版本,修复了一些安全性问题(
+Apache+MySQL+PHP (脚本可以选择是否安装+Pureftpd+User manager for PureFTPd+phpMyAdmin),添加虚拟主机请执行lamp/vhost.sh脚本。脚本中用到的软件包大多最新稳定版本,修复了一些安全性问题(安装之前会执行)。适用于/RadHat 5/6 。
Github地址:
最新源码一键安装脚本问题反馈请加QQ群:
更新日志:
&& 执行lamp安装脚本可选择性的是否安装memcache,安装后默认启动memcached 并开启11211端口
更新yum时,缺少-y参数,可能导致脚本无法自动下面安装
注意事项:
编译过程中,如果服务器内存太小(如512M&vps),可能回报内存不足无法通过编译,这个时候你看下是否有swap,如果没有可以添加 swap:
lamp安装后占用系统资源截图():
脚本中软件版本如下:
cmake-2.8.11.2.tar.gz
mysql-5.6.12.tar.gz
libiconv-1.14.tar.gz
libmcrypt-2.5.8.tar.gz
mhash-0.9.9.9.tar.gz
mcrypt-2.6.8.tar.gz
php-5.5.1.tar.gz
memcached-1.4.15.tar.gz
memcache-2.2.7.tgz
PDO_MYSQL-1.0.2.tgz
ImageMagick-6.8.6-6.tar.gz
imagick-3.1.0RC2.tgz
pecl_http-1.7.6.tgz
pcre-8.33.tar.gz
apr-1.4.8.tar.gz
apr-util-1.5.2.tar.gz
httpd-2.4.6.tar.gz
pure-ftpd-1.0.36.tar.gz
ftp_v2.1.tar.gz
phpMyAdmin-4.0.4.1-all-languages.tar.gz
使用方法:
wget /wp-content/uploads/lamp.tar.gz
tar xzf lamp.tar.gz
+x lamp_install.sh
./lamp_install.sh
相关目录说明:
1. 网站跟目录(默认在/home/wwwroot)修改到指对位置,如 /data/www ,替换下面文件
sed -i &#39;s@home_dir=/home/wwwroot@home_dir=/data/www@g&#39; /root/lamp/lamp_install.sh
2. php安装到自定义目录,如: /data/webserver/php,替换下面文件
sed -i &#39;s@/usr/local/php@/data/webserver/php@g&#39; /root/lamp/lamp_install.sh
3. apache安装到自定义目录,如:/data/webserver/apache,替换下面文件
sed -i &#39;s@/usr/local/apache@/data/webserver/apache@g&#39; /root/lamp/vhost.sh
sed -i &#39;s@/usr/local/apache@/data/webserver/apache@g&#39; /root/lamp/_install.sh
#!/bin/bash
# Check if user is root
[ $(id -u) != &0& ] && echo &Error: You must be root to run this script, please use root to install lamp& && exit 1
echo &#######################################################################&
LNMP for CentOS/RadHat 5/6
echo &# For more information please visit /82.html
echo &#######################################################################&
echo &#39;&#39;
IP=`ifconfig | grep &#39;inet addr:&#39; | cut -d: -f2 | grep -v ^10\. | grep -v ^192\.168 | grep -v ^172\. | grep -v ^127\. | awk &#39;{print
$1}&#39; | awk &#39;{exit}&#39;`
read -p &Please input the root password of MySQL:& mysqlrootpwd
(( ${#mysqlrootpwd} &= 5 )) && break || echo -e &\033[31mMySQL root password least 5 characters! \033[0m&
read -p &Do you want to install Memcache? (y/n)& Memcache_yn
if [ &$Memcache_yn& != &#39;y&#39; ] && [ &$Memcache_yn& != &#39;n&#39; ];then
echo -e &\033[31minput error! please input &#39;y&#39; or &#39;n&#39;\033[0m&
read -p &Do you want to install Pure-FTPd? (y/n)& FTP_yn
if [ &$FTP_yn& != &#39;y&#39; ] && [ &$FTP_yn& != &#39;n&#39; ];then
echo -e &\033[31minput error! please input &#39;y&#39; or &#39;n&#39;\033[0m&
if [ $FTP_yn == &#39;y&#39; ];then
read -p &Please input the manager password of Pureftpd:& ftpmanagerpwd
(( ${#ftpmanagerpwd} &= 5 )) && break || echo -e &\033[31mFtp manager password least 5 characters! \033[0m&
read -p &Do you want to install phpMyAdmin? (y/n)& phpMyAdmin_yn
if [ &$phpMyAdmin_yn& != &#39;y&#39; ] && [ &$phpMyAdmin_yn& != &#39;n&#39; ];then
echo -e &\033[31minput error! please input &#39;y&#39; or &#39;n&#39;\033[0m&
#Definition Directory
home_dir=/home/wwwroot
mkdir -p $home_dir
mkdir -p /root/lamp/{source,conf}
function Download_src()
cd /root/lamp/source
[ -s cmake-2.8.11.2.tar.gz ] && echo &#39;cmake-2.8.11.2.tar.gz found&#39; || wget http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz
[ -s mysql-5.6.12.tar.gz ] && echo &#39;mysql-5.6.12.tar.gz found&#39; || wget http://fossies.org/linux/misc/mysql-5.6.12.tar.gz
[ -s libiconv-1.14.tar.gz ] && echo &#39;libiconv-1.14.tar.gz found&#39; || wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
[ -s libmcrypt-2.5.8.tar.gz ] && echo &#39;libmcrypt-2.5.8.tar.gz found&#39; || wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
[ -s mhash-0.9.9.9.tar.gz ] && echo &#39;mhash-0.9.9.9.tar.gz found&#39; || wget http://iweb.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
[ -s mcrypt-2.6.8.tar.gz ] && echo &#39;mcrypt-2.6.8.tar.gz found&#39; || wget /files/mcrypt-2.6.8.tar.gz
[ -s php-5.5.1.tar.gz ] && echo &#39;php-5.5.1.tar.gz found&#39; || wget http://kr1.php.net/distributions/php-5.5.1.tar.gz
[ -s memcached-1.4.15.tar.gz ] && echo &#39;memcached-1.4.15.tar.gz found&#39; || wget /files/memcached-1.4.15.tar.gz
[ -s memcache-2.2.7.tgz ] && echo &#39;memcache-2.2.7.tgz found&#39; || wget http://pecl.php.net/get/memcache-2.2.7.tgz
[ -s PDO_MYSQL-1.0.2.tgz ] && echo &#39;PDO_MYSQL-1.0.2.tgz found&#39; || wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
[ -s ImageMagick-6.8.6-6.tar.gz ] && echo &#39;ImageMagick-6.8.6-6.tar.gz found&#39; || wget ftp://sunsite.icm.edu.pl/packages/ImageMagick/ImageMagick-6.8.6-6.tar.gz
[ -s imagick-3.1.0RC2.tgz ] && echo &#39;imagick-3.1.0RC2.tgz found&#39; || wget http://pecl.php.net/get/imagick-3.1.0RC2.tgz
[ -s pecl_http-1.7.6.tgz ] && echo &#39;pecl_http-1.7.6.tgz found&#39; || wget http://pecl.php.net/get/pecl_http-1.7.6.tgz
[ -s pcre-8.33.tar.gz ] && echo &#39;pcre-8.33.tar.gz found&#39; || wget http://ftp..llorien.org/pcre/pcre-8.33.tar.gz
[ -s apr-1.4.8.tar.gz ] && echo &#39;apr-1.4.8.tar.gz found&#39; || wget http://archive.apache.org/dist/apr/apr-1.4.8.tar.gz
[ -s apr-util-1.5.2.tar.gz ] && echo &#39;apr-util-1.5.2.tar.gz found&#39; || wget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
[ -s httpd-2.4.6.tar.gz ] && echo &#39;httpd-2.4.6.tar.gz found&#39; || wget http://www.apache.org/dist/httpd/httpd-2.4.6.tar.gz
[ -s pure-ftpd-1.0.36.tar.gz ] && echo &#39;pure-ftpd-1.0.36.tar.gz found&#39; || wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.gz
[ -s ftp_v2.1.tar.gz ] && echo &#39;ftp_v2.1.tar.gz found&#39; || wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz
[ -s phpMyAdmin-4.0.4.1-all-languages.tar.gz ] && echo &#39;phpMyAdmin-4.0.4.1-all-languages.tar.gz found&#39; || wget http://iweb.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.4.1/phpMyAdmin-4.0.4.1-all-languages.tar.gz
# check source packages
for src in ` ./lamp_install.sh | grep found.*wget | awk &#39;{print $3}&#39; | grep gz`
if [ ! -f &/root/lamp/source/$src& ];then
echo -e &\033[31m$src no found! \033[0m&
function Install_MySQL()
cd /root/lamp/source
useradd -M -s /sbin/nologin mysql
mkdir -p /data/ mysql.mysql -R /data/mysql
tar xzf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2
./configure
make install
tar zxf mysql-5.6.12.tar.gz
cd mysql-5.6.12
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DEXTRA_CHARSETS=all \
-DWITH_DEBUG=0
make && make install
if [ -d &/usr/local/mysql& ];then
echo -e &\033[32mMySQL install successfully! \033[0m&
echo -e &\033[31mMySQL install failed,Please Contact Author! \033[0m&
/bin/cp support-files/f /f
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
cat & /f && EOF
basedir = /usr/local/mysql
datadir = /data/mysql
character-set-server=utf8
collation-server=utf8_general_ci
user=mysql
port = 3306
default_storage_engine = InnoDB
server_id = 1
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 7
bind-address = 0.0.0.0
# name-resolve
skip-name-resolve
skip-host-cache
#lower_case_table_names = 1
ft_min_word_len = 1
query_cache_size = 64M
query_cache_type = 1
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
log_error = /data/mysql/mysql-error.log
long_query_time = 1
slow_query_log
slow_query_log_file = /data/mysql/mysql-slow.log
explicit_defaults_for_timestamp=true
#max_connections = 1000
open_files_limit = 65535
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
port = 3306
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql
chown mysql.mysql -R /data/mysql
/sbin/service mysqld start
export PATH=$PATH:/usr/local/mysql/bin
echo &#39;export PATH=$PATH:/usr/local/mysql/bin&#39; && /etc/profile
source /etc/profile
/usr/local/mysql/bin/mysql -e &grant all privileges on *.* to root@&#39;127.0.0.1&#39; identified by \&$mysqlrootpwd\&&
/usr/local/mysql/bin/mysql -e &grant all privileges on *.* to root@&#39;localhost&#39; identified by \&$mysqlrootpwd\&&
/usr/local/mysql/bin/mysql -uroot -p$mysqlrootpwd -e &delete from mysql.user where Password=&#39;&#39;;&
/usr/local/mysql/bin/mysql -uroot -p$mysqlrootpwd -e &&
/sbin/service mysqld restart
function Install_Apache()
useradd -M -s /sbin/nologin www
cd /root/lamp/source
tar xzf pcre-8.33.tar.gz
cd pcre-8.33
./configure
make && make install
tar xzf httpd-2.4.6.tar.gz
tar xzf apr-1.4.8.tar.gz
tar xzf apr-util-1.5.2.tar.gz
cd httpd-2.4.6
/bin/cp -R ../apr-1.4.8 ./srclib/apr
/bin/cp -R ../apr-util-1.5.2 ./srclib/apr-util
./configure --prefix=/usr/local/apache --enable-headers --enable-deflate --enable-mime-magic --enable-so --enable-rewrite --enable-ssl --with-ssl --enable-expires --enable-static-support --enable-suexec --disable-userdir --with-included-apr --with-mpm=prefork --disable-userdir --disable-cgid --disable-cgi
make && make install
/bin/cp /usr/local/apache/bin/apachectl
/etc/init.d/httpd
sed -i &#39;2a # chkconfig: - 85 15&#39; /etc/init.d/httpd
sed -i &#39;3a # description: Apache is a World Wide Web server. It is used to serve&#39; /etc/init.d/httpd
chmod 755 /etc/init.d/httpd
chkconfig --add httpd
chkconfig httpd on
#logrotate apache log
echo &#39;/usr/local/apache/logs/*.log {
notifempty
sharedscripts
postrotate
[ -f /usr/local/apache/logs/httpd.pid ] && kill -USR1 `cat /usr/local/apache/logs/httpd.pid`
}&#39; & /etc/logrotate.d/apache
service httpd start
function Apache_conf()
sed -i &#39;s/^User daemon/User www/&#39; /usr/local/apache/conf/httpd.conf
sed -i &#39;s/^Group daemon/Group www/&#39; /usr/local/apache/conf/httpd.conf
sed -i &#39;s/^#ServerName :80/ServerName 0.0.0.0:80/&#39; /usr/local/apache/conf/httpd.conf
sed -i &s@AddType\(.*\)Z@AddType\1Z\n
AddType application/x-httpd-php .php .phtml\n
AddType application/x-httpd-php-source .phps@& /usr/local/apache/conf/httpd.conf
sed -i &#39;s@^#LoadModule\(.*\)mod_deflate.so@LoadModule\1mod_deflate.so@&#39; /usr/local/apache/conf/httpd.conf
sed -i &#39;s@DirectoryIndex index.html@DirectoryIndex index.html index.php@&#39; /usr/local/apache/conf/httpd.conf
sed -i &s@^DocumentRoot.*@DocumentRoot \&$home_dir\&@& /usr/local/apache/conf/httpd.conf
sed -i &s@^&Directory \&/usr/local/apache/htdocs\&&@&Directory \&$home_dir\&&@& /usr/local/apache/conf/httpd.conf
mkdir /usr/local/apache/conf/vhost
cat & /usr/local/apache/conf/vhost/admin.conf && EOF
&VirtualHost *:80&
ServerAdmin
DocumentRoot &$home_dir&
ServerName $IP
ErrorLog &logs/admin-error.log&
CustomLog &logs/admin-access.log& common
&Directory &$home_dir&&
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
&/Directory&
&/VirtualHost&
cat && /usr/local/apache/conf/httpd.conf &&EOF
ServerTokens ProductOnly
ServerSignature Off
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
DeflateCompressionLevel 6
SetOutputFilter DEFLATE
Include conf/vhost/*.conf
service httpd restart
function Install_PHP()
cd /root/lamp/source
tar xzf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local
make && make install
tar xzf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make && make install
tar xzf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install
tar xzf ImageMagick-6.8.6-6.tar.gz
cd ImageMagick-6.8.6-6
./configure
make && make install
# linked library
cat && /etc/ld.so.conf.d/local.conf &&EOF
/usr/local/lib
cat && /etc/ld.so.conf.d/mysql.conf &&EOF
/usr/local/mysql/lib
/sbin/ldconfig
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
ln -s /usr/local/mysql/include/* /usr/local/include/
ln -s /usr/local/include/ImageMagick-6 /usr/local/include/ImageMagick
if [ `getconf WORD_BIT` = &#39;32&#39; ] && [ `getconf LONG_BIT` = &#39;64&#39; ] ; then
ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1
cp -frp /usr/lib64/libldap* /usr/lib
ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1
tar xzf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
/sbin/ldconfig
./configure
make && make install
tar xzf php-5.5.1.tar.gz
cd php-5.5.1
./configure
--prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/php/etc --enable-opcache \
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib \
--with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop \
--enable-sysvsem --enable-inline-optimization --with-curl --with-kerberos --enable-mbregex \
--enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-xsl --with-openssl \
--with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc \
--enable-ftp --with-gettext --enable-zip --enable-soap --disable-ipv6 --disable-debug
make ZEND_EXTRA_LIBS=&#39;-liconv&#39;
make install
if [ -d &/usr/local/php& ];then
echo -e &\033[32mPHP install successfully! \033[0m&
echo -e &\033[31mPHP install failed,Please Contact Author! \033[0m&
#wget http://pear.php.net/go-pear.phar
#/usr/local/php/bin/php go-pear.phar
cp php.ini-production /usr/local/php/etc/php.ini
tar xzf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make && make install
tar xzf imagick-3.1.0RC2.tgz
cd imagick-3.1.0RC2
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
# Support HTTP request curls
tar xzf pecl_http-1.7.6.tgz
cd pecl_http-1.7.6
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
# Modify php.ini
sed -i &#39;s@extension_dir = &ext&@extension_dir = &ext&\nextension_dir = &/usr/local/php/lib/php/extensions/no-debug-zts-/&\nextension = &pdo_mysql.so&\nextension = &imagick.so&\nextension = &http.so&@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^output_buffering =@output_buffering = On\noutput_buffering =@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;cgi.fix_pathinfo.*@cgi.fix_pathinfo=0@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^short_open_tag = Off@short_open_tag = On@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^expose_php = On@expose_php = Off@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^request_order.*@request_order = &CGP&@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;date.timezone.*@date.timezone = Asia/Shanghai@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^post_max_size.*@post_max_size = 50M@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^upload_max_filesize.*@upload_max_filesize = 50M@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^max_execution_time.*@max_execution_time = 300@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^disable_functions.*@disable_functions = passthru,exec,system,chroot,,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@#sendmail_path.*@#sendmail_path = /usr/sbin/sendmail -t@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^\[opcache\]@[opcache]\nzend_extension=opcache.so@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;opcache.enable=.*@opcache.enable=1@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;opcache.memory_consumption.*@opcache.memory_consumption=128@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;opcache.interned_strings_buffer.*@opcache.interned_strings_buffer=8@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;opcache.max_accelerated_files.*@opcache.max_accelerated_files=4000@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;opcache.revalidate_freq.*@opcache.revalidate_freq=60@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;opcache.fast_shutdown.*@opcache.fast_shutdown=1@&#39; /usr/local/php/etc/php.ini
sed -i &#39;s@^;opcache.enable_cli.*@opcache.enable_cli=1@&#39; /usr/local/php/etc/php.ini
function Install_Memcache()
cd /root/lamp/source
tar xzf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
sed -i &#39;s@&/usr/local/php/lib/php/extensions/no-debug-zts-/&@&/usr/local/php/lib/php/extensions/no-debug-zts-/&\nextension = &memcache.so&@&#39; /usr/local/php/etc/php.ini
tar xzf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcached
make && make install
ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached
/bin/cp scripts/memcached.sysv /etc/init.d/memcached
sed -i &#39;s@^USER=.*@USER=root@&#39; /etc/init.d/memcached
sed -i &#39;s@chown@#chown@&#39; /etc/init.d/memcached
sed -i &#39;s@/var/run/memcached/memcached.pid@/var/run/memcached.pid@&#39; /etc/init.d/memcached
sed -i &#39;s@^prog=.*@prog=&/usr/local/memcached/bin/memcached&@&#39; /etc/init.d/memcached
chmod +x /etc/init.d/memcached
chkconfig --add memcached
chkconfig memcached on
service memcached start
function Install_Pureftp()
cd /root/lamp/source
tar xzf pure-ftpd-1.0.36.tar.gz
cd pure-ftpd-1.0.36
./configure --prefix=/usr/local/pureftpd CFLAGS=-O2 --with-mysql=/usr/local/mysql --with-quotas --with-cookie --with-virtualhosts --with-virtualchroot --with-diraliases --with-sysquotas --with-ratios --with-altlog --with-paranoidmsg --with-shadow --with-welcomemsg
--with-throttling --with-uploadscript --with-language=english
make && make install
cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin
chmod +x /usr/local/pureftpd/sbin/pure-config.pl
cp contrib/redhat.init /etc/init.d/pureftpd
sed -i &#39;s@fullpath=.*@fullpath=/usr/local/pureftpd/sbin/$prog@&#39; /etc/init.d/pureftpd
sed -i &#39;s@pureftpwho=.*@pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho@&#39; /etc/init.d/pureftpd
sed -i &#39;s@/etc/pure-ftpd.conf@/usr/local/pureftpd/pure-ftpd.conf@&#39; /etc/init.d/pureftpd
chmod +x /etc/init.d/pureftpd
chkconfig --add pureftpd
chkconfig pureftpd on
cd /root/lamp/conf
/bin/cp pure-ftpd.conf /usr/local/pureftpd/
/bin/cp pureftpd-mysql.conf /usr/local/pureftpd/
mysqlftppwd=`cat /dev/urandom | head -1 | md5sum | head -c 8`
sed -i &#39;s/tmppasswd/&#39;$mysqlftppwd&#39;/g&#39; /usr/local/pureftpd/pureftpd-mysql.conf
sed -i &#39;s/mysqlftppwd/&#39;$mysqlftppwd&#39;/g&#39; script.mysql
sed -i &#39;s/ftpmanagerpwd/&#39;$ftpmanagerpwd&#39;/g&#39; script.mysql
/usr/local/mysql/bin/mysql -uroot -p$mysqlrootpwd& script.mysql
service pureftpd start
tar xzf /root/lamp/source/ftp_v2.1.tar.gz -C $home_dir
sed -i &#39;s/tmppasswd/&#39;$mysqlftppwd&#39;/&#39; $home_dir/ftp/config.php
sed -i &/`echo $IP`/& $home_dir/ftp/config.php
sed -i &#39;s@\$DEFUserID.*;@\$DEFUserID = &501&;@&#39; $home_dir/ftp/config.php
sed -i &#39;s@\$DEFGroupID.*;@\$DEFGroupID = &501&;@&#39; $home_dir/ftp/config.php
sed -i &#39;s@iso-8859-1@UTF-8@&#39; $home_dir/ftp/language/english.php
$home_dir/ftp/install.php
function Install_phpMyAdmin()
cd $home_dir
tar xzf /root/lamp/source/phpMyAdmin-4.0.4.1-all-languages.tar.gz
mv phpMyAdmin-4.0.4.1-all-languages phpMyAdmin
sed -i &#39;s@localhost@127.0.0.1@&#39; phpMyAdmin/libraries/config.default.php
function TEST()
echo &#39;&?php
?&&#39; & $home_dir/phpinfo.php
cp /root/lamp/conf/index.html $home_dir
cp /root/lamp/conf/tz.php $home_dir
chown -R www.www $home_dir
function Iptables()
cat & /etc/sysconfig/iptables && EOF
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport
-A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
-A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
service iptables restart
Download_src 2&&1 | tee -a /root/lamp/lamp_install.log
chmod +x /root/lamp/{init,vhost}.sh
sed -i &s@/home/wwwroot@$home_dir@g& /root/lamp/vhost.sh
/root/lamp/init.sh 2&&1 | tee -a /root/lamp/lamp_install.log
Install_MySQL 2&&1 | tee -a /root/lamp/lamp_install.log
Install_Apache 2&&1 | tee -a /root/lamp/lamp_install.log
Install_PHP 2&&1 | tee -a /root/lamp/lamp_install.log
if [ $Memcache_yn == &#39;y&#39; ];then
Install_Memcache 2&&1 | tee -a /root/lamp/lamp_install.log
if [ $FTP_yn == &#39;y&#39; ];then
Install_Pureftp 2&&1 | tee -a /root/lamp/lamp_install.log
Iptables 2&&1 | tee -a /root/lamp/lamp_install.log
if [ $phpMyAdmin_yn == &#39;y&#39; ];then
Install_phpMyAdmin 2&&1 | tee -a /root/lamp/lamp_install.log
Apache_conf 2&&1 | tee -a /root/lamp/lamp_install.log
TEST 2&&1 | tee -a /root/lamp/lamp_install.log
echo &################Congratulations####################&
echo &The path of some dirs:&
echo -e &Apache dir:
\033[32m/usr/local/apache\033[0m&
echo -e &MySQL dir:
\033[32m/usr/local/mysql\033[0m&
echo -e &PHP dir:
\033[32m/usr/local/php\033[0m&
echo -e &MySQL User:
\033[32mroot\033[0m&
echo -e &MySQL Password:
\033[32m${mysqlrootpwd}\033[0m&
echo -e &Manager url:
\033[32mhttp://$IP/\033[0m&
echo &###################################################&
转载请保留固定链接:
------分隔线----------------------------
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
记录一个rabbitmq启动脚本,修改部分参数即可用。 vi /etc/init.d/...
Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通...
功能: 自动检测是否有尚未分区的数据盘,格式化新的数据盘并...
#!/usr/bin/env python# -*- coding:utf-8 -*-该计算器思路: 1、递归寻找表...
hosts文件存储了IP地址与域名的映射。因为有的时候需要经常性地...
#!/bin/bash######################################################################...

我要回帖

更多关于 linux下搭建lamp环境 的文章

 

随机推荐