linux centos ubuntu开机自动启动
系统需求
- 系统支持:CentOS/Redhat/Fedora
- 内存要求:≥ 512M
- 硬盘要求:2GB以上的剩余空间
- 服务器必须配置好软件源和可连接外网
- 必须具有系统 root 权限
- 建议使用干净系统全新安装
支持组件
- 支持 PHP 自带所有组件
- 支持 MySQL、MariaDB、SQLite 数据库
- 支持 oci8 (可选安装)
- 支持 pure-ftpd (可选安装)
- 支持 memcached (可选安装)
- 支持 ImageMagick (可选安装)
- 支持 GraphicsMagick (可选安装)
- 支持 Zend Guard Loader (可选安装)
- 支持 ionCube PHP Loader (可选安装)
- 支持 XCache ,Zend OPcache (可选安装)
- 自助升级 Apache,PHP,phpMyAdmin,MySQL 或 MariaDB 至最新版本
- 命令行新增虚拟主机,操作简便
- 一键卸载
1,安装依赖包
yum -y install wget screen unzip screen -S lamp
2,下载安装包
wget -O lamp.zip https://github.com/teddysun/lamp/archive/master.zip unzip lamp.zip cd lamp-master/ chmod +x *.sh
3,开始安装
./lamp.sh 2>&1 | tee lamp.log
安装的过程中选择你需要安装的选项即可,同时设置开机自动启动
chkconfig httpd on //apache开机自动启动 chkconfig mysqld on //mysql开机自动启动 关于chkconfig开机自动启动,要保证以上命令能使用就必须满足以下条件: 1.确保/etc/rc.d/init.d/mysqld 存在,可以使用service mysqld start能够正常启动 2.把mysqld托管给chkconfig:chkconfig --add mysqld 3.执行chkconfig mysqld on 4.查看是否设置成功:chkconfig --list mysqld 5.如果 0:off 1:off 2:on 3:on 4:on 5:on 6:off //2345都是on表示设置成功 6.如果没有成功手动设置一下:chkconfig --level 2345 mysqld on http://blog.csdn.net/chtdsl/article/details/8644788
4,安装其他php模块
下载包含所有安装包的源码(230MB)来安装 wget http://lamp.teddysun.com/lamp.tar.gz tar -zxf lamp.tar.gz cd lamp/ chmod +x *.sh
根据你需要安装的模块执行以下命令
- (可选安装)执行脚本 xcache.sh 安装 Xcache
./xcache.sh
- (可选安装)执行脚本 oci8_oracle11g.sh 安装 oci8 扩展以及 oracle-instantclient11.2
./oci8_oracle11g.sh
- (可选安装)执行脚本 pureftpd.sh 安装 pure-ftpd-1.0.42
./pureftpd.sh
- (可选安装)执行脚本 ZendGuardLoader.sh 安装 Zend Guard Loader
./ZendGuardLoader.sh
- (可选安装)执行脚本 ioncube.sh 安装 ionCube PHP Loader
./ioncube.sh
- (可选安装)执行脚本 ImageMagick.sh 安装 imagick 的 PHP 扩展
./ImageMagick.sh
- (可选安装)执行脚本 GraphicsMagick.sh 安装 gmagick 的 PHP 扩展
./GraphicsMagick.sh
- (可选安装)执行脚本 opcache.sh 安装 Zend OPcache 的 PHP 扩展
./opcache.sh
- (可选安装)执行脚本 memcached.sh 安装 memcached 及 memcached 的 PHP 扩展
./memcached.sh
- (可选安装)执行脚本 mongodb.sh 安装 MongoDB 的 PHP 扩展
./mongodb.sh
- (升级脚本)执行脚本 upgrade_php.sh 将会升级 PHP 和 phpMyAdmin 至最新版本。
./upgrade_php.sh 2>&1 | tee upgrade_php.log
- (升级脚本)执行脚本 upgrade_mysql.sh 将会升级 MySQL 至已安装版本的最新版本。
升级之前会自动备份全部数据库,在升级完成之后再将备份恢复。
./upgrade_mysql.sh 2>&1 | tee upgrade_mysql.log
- (升级脚本)执行脚本 upgrade_mariadb.sh 将会升级 MariaDB 至已安装版本的最新版本。
升级之前会自动备份全部数据库,在升级完成之后再将备份恢复。
./upgrade_mariadb.sh 2>&1 | tee upgrade_mariadb.log
- (升级脚本)执行脚本 upgrade_apache.sh 将会升级 Apache 至已安装版本的最新版本。
./upgrade_apache.sh 2>&1 | tee upgrade_apache.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)
- Memcached 命令
/etc/init.d/memcached (start|stop|restart|status)
网站根目录
默认的网站根目录: /data/www/default
默认信息
LAMP 使用方法:
lamp (add, del, list):创建,删除,列出虚拟主机
LAMP 升级方法:
执行脚本:./upgrade.sh
LAMP 卸载方法:
执行脚本:./uninstall.sh
程序默认安装目录:
Apache:/usr/local/apache
PHP:/usr/local/php
MySQL:/usr/local/mysql
MariaDB:/usr/local/mariadb
Percona:/usr/local/percona
可用命令一览:
Apache:/etc/init.d/httpd (start|stop|restart|status)
MySQL:/etc/init.d/mysqld (start|stop|restart|status)
MariaDB:/etc/init.d/mysqld (start|stop|restart|status)
Percona:/etc/init.d/mysqld (start|stop|restart|status)
Memcached:/etc/init.d/memcached (start|stop|restart)
Redis-server:/etc/init.d/redis-server (start|stop|restart)
修改mysql严格模式路径:
/usr/local/mysql/my.cnf
网站默认根目录:
网站默认根目录:/data/www/default
————————-添加同一个ip不同端口站点———————————–
编辑文件:/usr/local/apache/conf/extra/httpd-vhosts.conf,添加以下代码(路径根据情况修改相应路径)
<VirtualHost *:8180> ServerAdmin localhost:8180 DocumentRoot "/data/www/xgllseo" ServerName localhost:8180 #ErrorLog "/data/wwwlog/wwww.avalon123.com/error.log" #CustomLog "/data/wwwlog/wwww.avalon123.com/com-access_log" common <Directory /data/www/xgllseo> Options +Includes -Indexes AllowOverride All Order Deny,Allow Require all granted </Directory> </VirtualHost>
编辑文件:/usr/local/apache/conf/httpd.conf,添加一个8180端口
Listen 45.32.197.199:80 Listen 45.32.197.199:8180
重启apache
/etc/init.d/httpd restart
——————–为网站添加SSL———————-
1,首先要获得ssl证书,到网站https://github.com/letsencrypt/letsencrypt具体教程参考网站内容。
1: Spin up a temporary webserver (standalone)
2: Place files in webroot directory (webroot)
//选择 webroot
输入你的域名
Please enter in your domain name(s) (comma and/or space separated) (Enter 'c'
to cancel):www.xgllseo.com
输入网站路径
Input the webroot for test.testnode.com: (Enter 'c' to cancel):/data/www/xgllseo
申请成功就有这样提示:
Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.xgllseo.com/fullchain.pem. Your cert
will expire on 2017-06-18. To obtain a new or tweaked version of
this certificate in the future, simply run certbot again. To
non-interactively renew *all* of your certificates, run "certbot
renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
查看证书所在目录,执行certbot certificates可以发现证书和私钥都已经在/etc/letsencrypt/live这个目录下了
$ certbot certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log
-------------------------------------------------------------------------------
Found the following certs:
Certificate Name: www.xgllseo.com
Domains: www.xgllseo.com
Expiry Date: 2017-06-18 04:09:00+00:00 (VALID: 87 days)
Certificate Path: /etc/letsencrypt/live/www.xgllseo.com/fullchain.pem
Private Key Path: /etc/letsencrypt/live/www.xgllseo.com/privkey.pem
---------------------------------------------------------------------
2,成功申请到证书后证书基本在/etc/letsencrypt/live/xgllseo.com目录下,分别记录fullchain.pem、privkey.pem的路径。
3,编辑/usr/local/apache/conf/extra/httpd-ssl.conf,添加刚刚那两个证书
<VirtualHost *:443> # General setup for the virtual host DocumentRoot "/data/www/xgllseo" #DirectoryIndex index.php index.html index.htm ServerName www.xgllseo.com:443 #ServerAdmin you@example.com #ErrorLog "/usr/local/apache/logs/error_log" #TransferLog "/usr/local/apache/logs/access_log" SSLEngine on SSLCertificateFile /etc/letsencrypt/live/www.xgllseo.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.xgllseo.com/privkey.pem
继续修改,给443端口访问赋值权限
<Directory "/data/www/xgllseo"> #修改相应路径 SSLOptions +StdEnvVars #添加以下3条代码 Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
4,编辑/usr/local/apache/conf/httpd.conf
# Secure (SSL/TLS) connections Include conf/extra/httpd-ssl.conf #把 此代码前面的#删除 #
如果访问https://www.xx.com的时候出现 bad require的字样那么在最底部继续添加
LimitRequestLine 40940 LimitRequestFieldSize 40940
5,做301跳转,即使访问http://www.xx.com也自动跳转为https://www.xx.com页面
编辑:/usr/local/apache/conf/extra/httpd-vhosts.conf
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://sdeno.com$1 [L,R=301] </VirtualHost>