https://teddysun.com/lamp
LAMP一键安装脚本
本脚本适用环境:
- 系统支持:CentOS/Redhat/Fedora
- 内存要求:≥512M
- 硬盘要求:2GB以上的剩余空间
- 服务器必须配置好软件源和可连接外网
- 必须具有系统 root 权限
- 建议使用干净系统全新安装
- 日期:2015 年 11 月 08 日
关于本脚本:
- 支持 PHP 自带所有组件;
- 支持 MySQL ,MariaDB, SQLite 数据库;
- 支持 oci8 (可选安装);
- 支持 pure-ftpd (可选安装);
- 支持 memcached (可选安装);
- 支持 ImageMagick (可选安装);
- 支持 GraphicsMagick (可选安装);
- 支持 Zend Guard Loader (可选安装);
- 支持 ionCube PHP Loader (可选安装);
- 支持 XCache ,Zend OPcache (可选安装);
- 命令行新增虚拟主机,操作简便;
- 自助升级 Apache,PHP,phpMyAdmin,MySQL 或 MariaDB 至最新版本;
- 支持创建 FTP 用户;
- 一键卸载(切记,卸载前请注意备份数据)。
特别说明:
- 本脚本已迁移至全新网址 LAMP一键安装包(2015 年 11 月 08 日更新),欢迎围观。
常见问题:
- LAMP一键安装脚本使用说明(2015 年 8 月 28 日更新)
将会安装:
- 1、Apache 2.4.17
- 2、MySQL 5.6.27、MySQL 5.5.46、MariaDB 5.5.46、MariaDB 10.0.22 (四选一安装)
- 3、PHP 5.3.29、 PHP 5.4.45、 PHP 5.5.30、 PHP 5.6.15 (四选一安装)
- 4、phpMyAdmin 4.4.15.1
- 5、oci8 2.0.8 (可选安装)
- 6、Xcache 3.2.0 (可选安装)
- 7、pure-ftpd 1.0.42 (可选安装)
- 8、Memcached 1.4.24 (可选安装)
- 9、Zend OPcache 7.0.5 (可选安装)
- 10、ImageMagick 6.9.0-10 (可选安装)
- 11、GraphicsMagick 1.3.21 (可选安装)
- 12、Zend Guard Loader 3.3 (可选安装)
- 13、ionCube PHP Loader 5.0.19 (可选安装)
- 14、MongoDB extension 1.6.11 (可选安装)
如何安装:
事前准备(安装 wget、screen、unzip,创建 screen 会话):
yum -y install wget screen unzip screen -S lamp
第一步,下载、解压、赋予执行权限:
wget -O lamp.zip https://github.com/teddysun/lamp/archive/master.zip unzip lamp.zip cd lamp-master/ chmod +x *.sh
或者下载包含所有安装包的源码(230MB)来安装:
wget http://lamp.teddysun.com/lamp.tar.gz tar -zxf lamp.tar.gz cd lamp/ chmod +x *.sh
第二步,安装 LAMP 一键安装包
终端中输入以下命令:
./lamp.sh 2>&1 | tee lamp.log
安装其它:
- 1、(可选安装)执行脚本 xcache.sh 安装 xcache 。(命令:./xcache.sh)
- 2、(可选安装)执行脚本 oci8_oracle11g.sh 安装 OCI8 扩展以及 oracle-instantclient11.2。(命令:./oci8_oracle11g.sh)
- 3、(可选安装)执行脚本 pureftpd.sh 安装 pure-ftpd-1.0.36。(命令:./pureftpd.sh)
- 4、(可选安装)执行脚本 ZendGuardLoader.sh 安装 Zend Guard Loader。(命令:./ZendGuardLoader.sh)
- 5、(可选安装)执行脚本 ioncube.sh 安装 ionCube PHP Loader。(命令:./ioncube.sh)
- 6、(可选安装)执行脚本 ImageMagick.sh 安装 imagick 的 PHP 扩展。(命令:./ImageMagick.sh)
- 7、(可选安装)执行脚本 GraphicsMagick.sh 安装 gmagick 的 PHP 扩展。(命令:./GraphicsMagick.sh)
- 8、(可选安装)执行脚本 opcache.sh 安装 Zend OPcache 的 PHP 扩展。(命令:./opcache.sh)
- 9、(可选安装)执行脚本 memcached.sh 安装 memcached 及 memcached 的 PHP 扩展。(命令:./memcached.sh)
- 10、(可选安装)执行脚本 mongodb.sh 安装 MongoDB 的 PHP 扩展。(命令:./mongodb.sh)
- 11、(升级脚本)执行脚本 upgrade_php.sh 将会升级 PHP 和 phpMyAdmin 至最新版本。(命令:./upgrade_php.sh | tee upgrade_php.log)
- 12、(升级脚本)执行脚本 upgrade_mysql.sh 将会升级 MySQL 至已安装版本的最新版本。(命令:./upgrade_mysql.sh | tee upgrade_mysql.log)
- 13、(升级脚本)执行脚本 upgrade_mariadb.sh 将会升级 MariaDB 至已安装版本的最新版本。(命令:./upgrade_mariadb.sh | tee upgrade_mariadb.log)
- 14、(升级脚本)执行脚本 upgrade_apache.sh 将会升级 Apache 至已安装版本的最新版本。(命令:./upgrade_apache.sh | tee upgrade_apache.log)
关于 upgrade_apache.sh
新增 upgrade_apache.sh 脚本,目的是为了自动检测和升级 Apache 至最新版本。
使用方法:
./upgrade_apache.sh 2>&1 | tee upgrade_apache.log
关于 upgrade_php.sh
新增 upgrade_php.sh 脚本,目的是为了自动检测和升级 PHP 和 phpMyAdmin 至最新版本。
使用方法:
./upgrade_php.sh 2>&1 | tee upgrade_php.log
关于 upgrade_mysql.sh
新增 upgrade_mysql.sh 脚本,目的是为了自动检测和升级 MySQL。升级之前会自动备份全部数据库,在升级完成之后再将备份恢复。
使用方法:
./upgrade_mysql.sh 2>&1 | tee upgrade_mysql.log
关于 upgrade_mariadb.sh
新增 upgrade_mariadb.sh 脚本,目的是为了自动检测和升级 MariaDB。升级之前会自动备份全部数据库,在升级完成之后再将备份恢复。
使用方法:
./upgrade_mariadb.sh 2>&1 | tee upgrade_mariadb.log
注意:
1、执行脚本时出现下面的错误提示时。
-bash: ./lamp.sh: /bin/bash^M: bad interpreter: No such file or directory
是因为Windows下和Linux下的文件编码不同所致。
解决办法是:
执行
vi lamp.sh
输入命令
:set ff=unix
#注意,包括冒号
回车后,输入ZZ(两个大写字母z),即可保存退出vi命令。
2、Oracle 数据库连接错误排查
一般连接外部 oracle 服务器那一步骤时,可能会出现 ORA-24408:could not generate unique server group name 这样的错误,解决办法是在 hosts 中将主机名添加即可:
vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 test ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 test
上面的代码中,test即为主机名。然后重启网络服务即可。service network restart
3、增加 FTP 用户相关
在运行 lamp ftp add 命令之前,先要安装 pure-ftpd ,如果开启了防火墙的话,还需要对端口 21 放行。
执行以下命令安装 pure-ftpd:
./pureftpd.sh 2>&1 | tee pureftpd.log
使用提示:
lamp add(del,list):创建(删除,列出)虚拟主机。
lamp ftp(add|del|list):创建(删除,列出)ftp 用户。
lamp uninstall:一键删除 LAMP(切记,删除之前请注意备份数据!)
程序目录:
MySQL 安装目录: /usr/local/mysql
MySQL 数据库目录:/usr/local/mysql/data(默认,安装时可更改路径)
MariaDB 安装目录: /usr/local/mariadb
MariaDB 数据库目录:/usr/local/mariadb/data(默认,安装时可更改路径)
PHP 安装目录: /usr/local/php
Apache 安装目录: /usr/local/apache
命令一览:
MySQL 或 MariaDB 命令:
/etc/init.d/mysqld(start|stop|restart|status)
Apache命令:
/etc/init.d/httpd(start|stop|restart|status)
网站根目录:
默认的网站根目录: /data/www/default
更多信息或下载安装包请参考项目主页:https://github.com/teddysun/lamp
更改ROOT密码
如果机器上没有绑定密钥,建议您修改服务器的默认登录密码,在登录后执行:
passwd
按照提示输入您的新密码。新密码一定要符合强密码的要求:至少8位以上并且包含数字、字符以及标点。复杂的密码不容易记忆,推荐您使用1Password 或者lastpass等密码管理工具管理您的密码。
创建普通用户
在日常的服务器管理过程中,您并不需要使用root来登录。最佳实践是创建一个拥有一定权限的普通用户进行日常的操作与维护。
例如创建一个名为chris的普通用户,在终端下输入:
# 创建一个名为chris的用户
adduser chris
# 给chris创建登录密码
passwd chris
同样,普通用户的密码也应当遵循强密码的原则。
设置完密码后就可以使用chris用户名和密码来登录主机了。但是此时chris并没有ROOT的权限,我们通过编辑sudoers文件给chris赋权,在终端执行:
visudo
这个命令使用vi打开了sudoers文件,我们可以通过vi来对这个文件进行编辑。在sudoers的最后一行加入:
chris ALL=(ALL) ALL
如果对vi不熟悉,可以按下面的步骤进行操作:
- 按
G
键,跳转到文件末尾; - 按
o
键,新插入一行并进入编辑模式; - 输入
chris ALL=(ALL) ALL
; - 依次按下
Esc
,:
,x
,Enter
键保存。
安全加固
如果您的云主机只有内网IP,则不需要执行此步骤。对于有外网IP的云主机,建议您执行此步骤,以加强您的云主机的安全,减少密码被爆破的风险。
拥有外网IP的服务器默认使用了22端口作为ssh服务的端口,这个端口成为入侵者重点关注的突破口。有两种方法可以加强ssh服务的安全性,下面分别介绍三种方法。
方法一:修改云主机的防火墙设置
美团云提供了防火墙的功能,可以新建一个防火墙配置,封禁TCP 22端口。封禁22端口之后,用户可以通过美团云提供的跳板机登录云主机。
# 使用MOS的用户名和密码登录relay
ssh @mosrelay.meituan.com
然后根据提示登录您的云主机。
方法二:更改ssh默认监听地址
ssh服务默认监听外网的22端口,我们可以将ssh服务默认监听地址修改为内网22端口,这样22端口从外网就不可访问了。这样我们就可以通过跳板机登录主机。
编辑sshd配置文件:
vi /etc/ssh/sshd_config
在打开的配置文件,将 #ListenAddress 0.0.0.0
修改为 Listen 10.128.128.174
,其中10.128.128.174
为该主机的内网地址,可以从MOS控制台获知,或者在命令行执行ifconfig
找到。然后reload ssh服务,使配置生效:
service ssd reload
下次登录时,需要使用方法一中提到的,使用MOS的用户名和密码登录跳板机,然后根据提示登录机器。
方法三:更改ssh默认端口、禁止root登录
我们可以对ssh服务进行配置,通过修改ssh服务的默认监端口址、禁止root登录等手段,加强云主机的安全性。我们使用刚刚创建的chris账号登录云主机,登录后执行:
vi /etc/ssh/sshd_config
在打开的配置文件末尾输入以下内容,其中Port您可以自行设置:
Port 10022
Protocol 2
PermitRootLogin no
保存后退出,然后reload ssh服务,使配置生效:
service sshd reload
当再次登录云主机时,您需要在配置文件中指定的Port参数:
ssh -p 10022 [email protected]
总结
经过上面步骤之后,您的云主机已经准备好服务了,您可以在知识库中找到其他CentOS教程,比如安装LNMP等。
常见问题
LAMP 一键安装脚本持续更新很长一段时间了。
在这期间,经常被问到很多问题,回答的比较零散,因此有必要在这里归纳总结一下。
如果你在使用 LAMP 的过程中也遇到了问题,请参考此文,已经列出了常见的问题和解答,希望能对你有所帮助。
为什么选择 LAMP 一键安装脚本?
LAMP 是经典的建站环境,尤其适用于个人站长。
本脚本的软件版本更新及时,支持 PHP 及数据库自选安装。支持 PHP 和数据库程序自助升级。
安装方便,支持众多 PHP 插件,实际上是当初为安装 Moodle 而量身打造的 LAMP 环境。
安装建议:根据自己的 CMS 建站系统要求,选择合适的软件版本安装即可。
更新时间:2016 年 04 月 09 日
程序目录:
- MySQL 安装目录: /usr/local/mysql
- MySQL 数据库目录: /usr/local/mysql/data(默认,安装时可更改路径)
- MariaDB 安装目录: /usr/local/mariadb
- MariaDB 数据库目录: /usr/local/mariadb/data(默认,安装时可更改路径)
- PHP 安装目录: /usr/local/php
- Apache 安装目录: /usr/local/apache
- phpMyAdmin 安装目录: /data/www/default/phpmyadmin
(安装完成后出于安全,建议将此目录改名,比如改为 /data/www/default/admin_8989)
网站目录:
- 默认的网站根目录: /data/www/default
- 默认页位置: /data/www/default/index.html
- 新建站点默认目录: /data/www/域名/web
- phpmyadmin 后台地址: http://域名或ip/phpmyadmin/
(若目录已改名,此处应为改名后的地址,比如 http://域名或ip/admin_8989/) - phpmyadmin 默认用户名:root 密码:root
(此密码即 MySQL 的 root 密码。在安装时会要求输入,如不输入则为默认值) - XCache 后台地址: http://域名或ip/xcache/
- XCache 默认用户名:admin 密码:123456
(用户名和密码在配置文件 /usr/local/php/php.d/xcache.ini 中定义)
配置文件:
- Apache 日志目录: /usr/local/apache/logs
- Apache SSL 配置文件: /usr/local/apache/conf/extra/httpd-ssl.conf
- 新建站点配置文件: /usr/local/apache/conf/vhost/domain.conf
- PHP 配置文件: /usr/local/php/etc/php.ini
- PHP 所有扩展配置文件目录: /usr/local/php/php.d/
- MySQL 配置文件: /etc/my.cnf
命令一览:
- MySQL 或 MariaDB 命令:
/etc/init.d/mysqld (start|stop|restart|status)
- Apache命令:
/etc/init.d/httpd (start|stop|restart|status)
- Memcached命令(可选安装)
/etc/init.d/memcached (start|stop|restart|status)
- Redis 命令(可选安装)
/etc/init.d/redis-server (start|stop|restart|status)
安装LAMP及建站简单流程:
- 安装 LAMP 环境
- 添加虚拟主机。运行命令:lamp add
(如果只建一个站,则可以直接将网站程序上传至 /data/www/default 目录下即可) - 上传并解压网站程序到网站目录,默认位置为:/data/www/域名/
- 更改网站目录权限。以 root 用户登录,运行:chown -R apache:apache /data/www/域名/
- 运行网站安装程序完成网站安装
常见问题
Q1:安装完网站程序,升级或安装插件等报错,如何更改网站目录权限?
以 root 登录后,运行:chown -R apache:apache /data/www/域名/
Q2:安装时因内存不足报错,不能完成安装?
当 RAM + Swap 的容量小于 480MB 时,直接退出脚本运行;480-600MB 时,新增 PHP 编译选项 –disable-fileinfo 。
同时还优化了安装过程中对内存的占用。
备注:为什么写成 480 MB ?
这是因为基于 Xen 或者 KVM 虚拟的 VPS,内存容量一般会低于标注容量。一般说是 512MB,但实际也就只有 480MB 左右。
小于 512M 的 VPS 建议并开启 Swap,如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
Q3:域名跟 ip 地址都显示相同的网页,如何设置?
这是因为域名没与你的 VPS 公网的 IP 绑定。
修改配置文件 /usr/local/apache/conf/extra/httpd-vhosts.conf
在此文件的第 1 行开始,追加以下虚拟主机的配置:
ServerName IP地址
Redirect 301 / 完整网址(如:http://teddysun.com)
注意,格式是301+空格+斜杠+空格+完整网址。
然后保存并重启 Apache 即可。
Q4:将 MySQL 换成 MariaDB ,应该怎么做?
- 备份所有数据库,执行命令:/usr/local/mysql/bin/mysqldump -uroot -p你设定的root密码 –all-databases > /root/mysql.dump
- 卸载 LAMP,命令:lamp uninstall
- 重新安装 LAMP,选择 MariaDB
- 安装完成后,恢复数据库,命令:/usr/local/mariadb/bin/mysql -u root -p你设定的root密码 < /root/mysql.dump
卸载 LAMP 时,是不会删除 /data/www/default 的,也就是说不会删除网站数据。但数据库会被删掉,因此需要备份。
注意,考虑到程序兼容性问题,不建议这么做(生产环境换数据库程序不妥,应该事先就规划好用哪种数据库),除非你知道如何备份和恢复你的数据库。
Q5:如何更改网站的默认目录?
修改配置文件 /etc/httpd/conf/extra/httpd-vhosts.conf 里的 DocmentRoot 目录以及下面的 Directory ,再重启 apache 即可
Q6:全新安装后,无法引用 /data/www/ 之外的目录,如 /home/data/,如何解决?
这是因为出于安全考虑,做了目录权限的 open_basedir 限制。
如何添加比如 /home/data 目录呢?修改 /usr/local/apache/conf/extra/httpd-vhosts.conf 中的 php_admin_value open_basedir 后的值,将 /home/data 添加到最后,注意要用冒号分割。再重启 Apache 即可。
Q7:请问如果网站是www.ccc.com, 如何让ccc.com跳转到www.ccc.com?
既可以在域名解析的时候设置域名跳转(比如 Dnspod 就可以),也可以通过 Apache 的 ServerAlias 设置多个域名。
比如 www.ccc.com 的配置文件是 /usr/local/apache/conf/vhost/www.ccc.com.conf ,在 ServerName 后新增一行 ServerAlias ccc.com 即可。
修改示例:
ServerName www.ccc.com
ServerAlias ccc.com
Q8:安装时自定义 MySQL 或 MariaDB 的路径,系统自动初始化数据库时会出错。然后会提示启动失败?
自定义 MySQL 的数据库路径时,如果目录不存在的话 MySQL 或 MariaDB 会尝试创建该目录,但一般会由于权限不足而创建失败。
MySQL 编译安装后会将 /usr/local/mysql 目录的 user:group 设为 mysql:mysql,所以默认目录 /usr/local/mysql/data 是没有问题的。
因此自定义路径时,最好事先创建好该目录,并把目录 user:group 变更为 mysql:mysql,比如更改目录为 /home/mysql/data
当然,在还没有安装 LAMP 之前,系统不一定有 mysql 的用户和用户组。执行以下命令可以创建:
/usr/sbin/groupadd mysql
/usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql
然后,在 root 用户下执行:
chown -R mysql:mysql /home/mysql/data
更新(2015 年 08 月 28 日): 本次更新优化了 MySQL 的安装过程,脚本会检测自定义路径是否存在,如果不存在会自行创建目录并改变其 owner 和 group,无需在此之前手动创建了。
Q9:LAMP 能配合什么 Web 面板管理呢?
Webmin 免费面板。参考《使用webmin管理PPTP VPN Server》一文,有在 CentOS 下如何快速安装 webmin 的教程。
Q10:请问 XCache 的后台怎么进去?
http://域名或IP/xcache/
用户名:admin
密码:123456
前提是你安装了 XCache 后才能进入该后台。
Q11:如何修改 XCache 的后台用户名和密码?
修改 /usr/local/php/php.d/xcache.ini 中对应的 xcache.admin.user 和 xcache.admin.pass 的值。
注意 xcache.admin.pass 的值是密码 md5 后的值。
然后重启 Apache 即可。
Q12:程序只能支持到PHP 5.3,不支持PHP 5.4,请问具体如何降级到PHP 5.3呢?是否可以直接卸载 PHP 然后单独重新安装PHP 5.3 ?
可以是可以,不过比较麻烦,你要自己重新编译 PHP 5.3.29。
删除已有的 PHP 步骤:
rm -rf /etc/php.ini /usr/bin/php* /usr/local/php
编译 PHP 5.3.29 有几点需要注意的。你需要把环境里的 Apache, MySQL 或 MariaDB 配置一并 configure 好才行。
当然还有一种办法就是备份好数据,卸载 LAMP 后再次安装时选择 PHP 5.3 版本即可。
Q13:安装以后要如何关闭日志功能?
修改 Apache 的配置文件 /usr/local/apache/conf/httpd.conf ,
搜索关键字 CustomLog (第300行),在前面加一个“#”注释掉后再重启 Apache 后就不再产生访问日志了。
Q14:FTP 安装使用是怎样的?
- 安装 LAMP 环境;
- 运行 pureftpd.sh 安装 pureftpd 软件(pureftpd 相关命令:service pure-ftpd start/stop/restart);
- 运行 lamp ftp add 命令新增 ftp 用户并根据提示绑定该用户的根目录(例:/data/www/default);
- 运行 lamp ftp del 命令删除 ftp 用户,但并不会删除数据;
- 运行 lamp ftp list 命令查看已有的 ftp 用户一览。
注意:安装 FTP 会遇到各种权限问题,会和已有的 apache 用户和用户组产生冲突,导致通过 FTP 上传的文件在程序里不可用,因此,不推荐使用。
注意:2016年4月9日更新,不再支持安装 FTP,请使用 SFTP 替代之。推荐一个客户端软件:winscp
Q15:Apache 的 SSL 如何设置?
一般设置 /usr/local/apache/conf/extra/httpd-ssl.conf 就够了。
还需要在 /usr/local/apache/conf/httpd.conf 中开启 Include conf/extra/httpd-ssl.conf ,也就是将前面的 “#” 去掉。
可以参考《Apache下部署ssl教程》一文。
Q16:安装 PHP 时出现以下错误,怎么处理?
cc: Internal error: Killed (program cc1)
Please submit a full bug report.
See for instructions.
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
Installing PHP failed, Please visit http://teddysun.com/lamp and contact.
内存不足,安装进程被 kill了。
内存低于 512MB 的又没有 Swap 的话就会如此。如何开启 Swap ,可以参考《如何在CentOS中添加Swap》一文。
更多错误信息查询,参考《PHP编译安装常见错误总结》一文。
Q17:请问如何卸载组件呢,比如 xcache、memcached?
删掉对应的 .so 文件及配置文件再重启 Apache 即可。
比如安装了 PHP 5.4 的话:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
/usr/local/php/php.d/xcache.ini
Q18:如何卸载 phpMyAdmin?
phpMyAdmin 如果不需要的话,直接删除其目录就OK了。
默认安装位置是 /data/www/default/phpmyadmin/
Q19:多个 IP 的 VPS 如何设置一个 IP 对应一个域名呢?
按照以下步骤:
- 创建虚拟主机,以域名命名;
- 修改配置文件/usr/local/apache/conf/vhost/域名.conf
将其中的第一行的 virtualhost *:80修改为 virtualhost IP:80; - 解析对应的域名到第二步设定好的的 IP ,重启 Apache 即可。
Q20:PHP 7.0 下安装可选组件失败?
这是因为目前很多组件还不支持 PHP 7.0 导致的,比如 XCache、gmagick、ZendGuardLoader、ioncube Loader等。
等这些组件的作者更新支持后,本脚本会及时跟进更新。
Q21:CentOS 7 下安装完成后为什么打不开网站?
安装 LAMP 完成后,无法用 IP 访问网站。查看进程也发现了 httpd 和 mysqld 也启动了,ping 也没问题,但就是无法访问。
经过一番排查,这是 CentOS 7 最新的 firewalld 防火墙引起的问题。
这时就要用经典的 iptables-services 来替代 firewalld 了。
命令如下:
yum -y install iptables-services
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
然后再修改 iptables 的防火墙规则。修改文件 /etc/sysconfig/iptables,将 80 和 443 端口放行。
完整内容如下:
# sample configuration for iptables service # you can edit this manually or use system-config-firewall # please do not ask us to add additional ports/services to this default configuration *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -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 443 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
安装
系统需求
- 系统支持:CentOS/Redhat/Debian/Ubuntu
- 内存要求:≥ 512M
- 硬盘要求:2GB以上的剩余空间(完整包安装则至少需要 10GB 及以上临时空间)
- 服务器必须配置好软件源 和 可连接外网
- 必须具有系统 root 权限
- 建议使用干净系统全新安装
支持组件
- 支持 PHP 自带几乎所有组件
- 支持 MySQL、MariaDB、SQLite 数据库
- 支持 Redis(可选安装)
- 支持 XCache (可选安装)
- 支持 Swoole (可选安装)
- 支持 Memcached (可选安装)
- 支持 ImageMagick (可选安装)
- 支持 GraphicsMagick (可选安装)
- 支持 ZendGuardLoader (可选安装)
- 支持 ionCube PHP Loader (可选安装)
- 自助升级 Apache,PHP,phpMyAdmin,MySQL/MariaDB 至最新版本
- 命令行新增虚拟主机,操作简便
- 支持一键卸载
安装步骤
- 事前准备(安装 wget、screen、unzip,创建 screen 会话)
注意:双斜杠//后的内容不要复制输入
yum -y install wget screen unzip // for CentOS/Redhat System
apt-get -y install wget screen unzip // for Debian/Ubuntu System
screen -S lamp
- 下载、解压、赋予执行权限
wget -O lamp.zip https://github.com/teddysun/lamp/archive/master.zip
unzip lamp.zip
cd lamp-master/
chmod +x *.sh
- 安装 LAMP 一键安装包
./lamp.sh
组件安装
关于本脚本支持的所有组件,都可以在脚本交互里可选安装。
使用提示
lamp add(del,list) 创建(删除,列出)虚拟主机。
如何卸载
./uninstall.sh
程序目录
- MySQL 安装目录: /usr/local/mysql
- MySQL 数据库目录:/usr/local/mysql/data(默认,安装时可更改路径)
- MariaDB 安装目录: /usr/local/mariadb
- MariaDB 数据库目录:/usr/local/mariadb/data(默认,安装时可更改路径)
- PHP 安装目录: /usr/local/php
- Apache 安装目录: /usr/local/apache
命令一览
- MySQL 或 MariaDB 命令
/etc/init.d/mysqld(start|stop|restart|status)
- Apache 命令
/etc/init.d/httpd(start|stop|restart|status)
- Memcached 命令(可选安装)
/etc/init.d/memcached (start|stop|restart|status)
- Redis 命令(可选安装)
/etc/init.d/redis-server (start|stop|restart|status)
网站根目录
默认的网站根目录: /data/www/default
评论已关闭
本脚本适用环境:
系统支持:CentOS,Debian,Ubuntu
内存要求:≥128M
日期:2015年08月01日
关于本脚本:
一键安装 go 版的 s 最新版本 1.1.4。据说 go 版本有 buff 。与 python 版不同的是,其客户端程序能使用多个服务端配置,本脚本安装的是服务端程序。作者默认推荐 aes-128-cfb 加密,基于一致性,脚本使用了 aes-256-cfb 加密方式。
友情提示:如果你有问题,请先参考这篇《Shadowsocks Troubleshooting》后再问。
默认配置:
服务器端口:自己设定(如不设定,默认为 8989)
客户端端口:1080
密码:自己设定(如不设定,默认为teddysun.com)
客户端下载:
http://sourceforge.net/projects/sgui/files/dist/
使用方法:
使用root用户登录,运行以下命令:
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/s_install/master/s-go.sh chmod +x s-go.sh ./s-go.sh 2>&1 | tee s-go.log
安装完成后,脚本提示如下:
Congratulations, s-go install completed! Your Server IP:your_server_ip Your Server Port:your_server_port Your Password:your_password Your Local Port:1080 Your Encryption Method:aes-256-cfb Welcome to visit:https://teddysun.com/392.html Enjoy it!
卸载方法:
使用 root 用户登录,运行以下命令:
./s-go.sh uninstall
其他事项:
客户端配置的参考链接:https://teddysun.com/339.html
安装完成后即已后台启动 s-go ,运行:
/etc/init.d/s status
可以查看 s-go 进程是否已经启动。
本脚本安装完成后,已将 s-go 加入开机自启动。
使用命令:
启动:/etc/init.d/s start
停止:/etc/init.d/s stop
重启:/etc/init.d/s restart
状态:/etc/init.d/s status
多用户多端口配置文件 sample(2015年01月08日):
配置文件路径:/etc/s/config.json
{ "port_password":{ "8989":"password0", "9001":"password1", "9002":"password2", "9003":"password3", "9004":"password4" }, "method":"aes-256-cfb", "timeout":600 }
官方版本的 sample ,详见这里。