标签 一键包 下的文章

https://lnmp.org/
https://oneinstack.com/
http://vestacp.com/
https://www.plesk.com/
https://amh.sh/
https://www.bt.cn/
https://linuxeye.com/481.html

使用的是GitHub上的oneinstack官网,下面是脚本使用介绍
这里简单介绍教程,基于GitHub的README.md,环境是Centos
yum -y install wget screen python unzip git // for CentOS,其他的是官网看教程
从GitHub中下载最新源码,下面三选一,我用git,省去解压过程

1.wget下载:
wget https://codeload.github.com/oneinstack/oneinstack/zip/master //改为master.zip
1.1.解压zip 包
unzip master.zip //解压后改oneinstack,原源码脚本是基于oneinstack文件夹的

2.1.wget 下载与上面的解析地址不同
wget https://github.com/oneinstack/oneinstack/archive/master.zip //不用改后缀
2.1.解压zip 包
unzip master.zip //解压后改oneinstack,原源码脚本是基于oneinstack文件夹的

3.git clone 拉下来:
git clone https://github.com/oneinstack/oneinstack.git //直接git吧


cd oneinstack //在options.conf改变安装目录和数据存储日记等
screen -S oneinstack //防止网络异常,重新连ssh可以screen -r oneinstack继续查看进程screen 状态为Attached 连不上,可以执行screen -D -r oneinstack
./install.sh // 不要直接运行sh install.sh 或者 bash install.sh
./addons.sh //添加附加组件Let’s Encrypt
./vhost.sh //添加虚拟主机
./backup_setup.sh //Set backup options
./backup.sh //crontab -l &&crontab -e
0 1 * * * cd ~/oneinstack;./backup.sh > /dev/null 2>&1 & //Esc Shift+Q,wq(保存)
service nginx restart
更新版本
./upgrade.sh
./uninstall.sh

证书过期

更改/data/wwwroot下的网站文件夹名字
备份/usr/local/nginx/conf/vhost下的配置
ssh: ./vhost.sh 选择3. 直到正常

1.正确修改 cgi.fix_pathinfo 与 Nginx 的配置
2.Typecho 中 cgi.fix_pathinfo 与 Nginx 的配置
访问二级菜单出现Access denied.
不改变 php.inicgi.fix_pathinfo=0 改成了 cgi.fix_pathinfo=1,可能存在安全问题

location ~ [^/]\.php(/|$) {
  #fastcgi_pass remote_php_ip:9000;
  fastcgi_split_path_info ^(.+?.php)(/.*)$;
  fastcgi_pass unix:/dev/shm/php-cgi.sock;
  fastcgi_index index.php;
  include fastcgi.conf;
}

添加 fastcgi_split_path_info ^(.+?.php)(/.*)$; 后即可由 Nginx 设置 PATH_INFO 值,
至此,终于解决了不改 PHP.ini 的方法。

service php-fpm restart
service nginx restart

设置网站目录权限

chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;

fail2ban阻止SSH暴力破解
Nginx Lua Redis防止CC攻击

禁止F5刷新

nginx.conf

  limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;
  limit_conn_zone $binary_remote_addr zone=addr:10m;

yuming.conf

location / {
    add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套
    add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型
    add_header X-XSS-Protection "1; mode=block"; # XSS 保护

    #http://www.abc3210.com/2013/web_04/82.shtml
    limit_req zone=allips burst=5;
    limit_conn addr 5;     #连接数限制
    #带宽限制,对单个连接限数,如果一个ip两个连接,就是500x2k
    limit_rate 500k;   
    }

rc.local 本身默认没有执行权限

chmod +x /etc/rc.d/rc.local

写一个systemd service,具体怎么写查手册: https://www.freedesktop.org/software/systemd/man/systemd.service.html

iptables

对于Linux服务器防火墙规则iptables修改后无法保存的问题一直没有提到,直接按下面方法做即可:
修改完/etc/sysconfig/iptables文件后直接用service iptables restart命令重启即可保存防火墙规则。

/etc/sysconfig

service iptables save
service iptables restart

lnmp 使用

https://oneinstack.com/install/

搬网站

 ~/oneinstack/backup.sh 备份

压缩

tar zcvf web.tgz ./   //即可将当前文件夹打包为web.tgz

解压

tar zxvf test.tgz

一键脚本

Docker部署PHP环境(PHP,MySQL,Nginx,Redis)



转载:ubuntu12.04安装LNMP环境
最近玩ubuntu,正好想在上面安装一个lnmp,好来测试博客代码什么的。下面记录下流程。
新建/var/www/目录,当然这个目录由你自己决定放在那里,做了修改之后要记得设置后面的nginx的代码。

sudo mkdir /var/www
sudo chmod -R 777 /var/www

安装nginx

apt-get install nginx-full

所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
程序文件在/usr/sbin/nginx
日志放在了/var/log/nginx中
并已经在/etc/init.d/下创建了启动脚本nginx
默认的虚拟主机的目录设置在了/var/www/nginx-default

修改网站默认目录:

sudo vim /etc/nginx/sites-available/default

用下面的代码替换掉所有代码:

server {
    listen [::]:80 default ipv6only=on; ## listen for ipv6
    listen 80;
    server_name localhost;
    root /var/www/; #如果你修改上面的目录,这里做相应修改.
    location / {
    index index.php index.html index.htm;
    }
    location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #    # With php5-cgi alone:
       fastcgi_pass 127.0.0.1:9000;
    #    # With php5-fpm:
    #    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    }
    }

修改 /etc/nginx/fastcgi_params,直接在末尾添加以下内容:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;

安装php和mysql

sudo apt-get install php5-fpm php5-gd php5-common php5-curl php5-imagick php5-mcrypt php5-memcache php5-mysql php5-cgi php5-cli

安装mysql

sudo apt-get install -y mysql-server mysql-client

注意:在安装过程中会要求创建Mysql 的root用户密码,请务必牢记数据库Mysql的超级密码。

修改php.ini文件:

sudo vim /etc/php5/fpm/php.ini

修改cgi.fix_pathinfo=1 为

cgi.fix_pathinfo=0

新建站点

sudo vim /etc/nginx/conf.d/example.com.conf

内容为

server {
    listen 80;
    #ipv6
    #listen [::]:80 default_server;
    root /var/www/example.com.net;
    #默认首页文件名
    index index.php index.html index.htm;
    #绑定域名
    server_name example.com;
    location / {
        try_files $uri $uri/ /index.html;
        #伪静态规则
    这里填写伪静态规则
    }
    #定义错误页面
    #error_page 404 /404.html;
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
    }
    }

重新启动 nginx 和 php-fpm

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php5-fpm reload

使用phpmyadmin

最后关于mysql管理的问题,直接下载phpmyadmin源码包解压到/var/www/,浏览器打开:http://localhost/phpmyadmin/访问数据库,注意“phpmyadmin”的大小写。用户名和密码就是安装mysql时设置的用户名和密码。


来自http://www.yishanhome.com/archives/307
2011.7.2更新:添加验证已安装mysql的root用户密码是否正确;添加Daloradius,RadiusManager,apache。详细安装可以看图示;2011.5.8更新:添加可选使用本机freeradius服务或者使用远程freeradius服务器,如果使用远程则不会在本机安装freeradius及mysql服务;提高Mysql是否安装识别,去除Nginx,phpMyAdmin,daloradius安装,这些功能建议单独安装,还原OPENVPN端口为1194。数据库缺点: L2TP不能记录callingstationid,OPENVPN使用UDP端口不能记录acctstoptime

#注意本地址在墙外,安装中断可以用screen -r vpn恢复
yum -y install screen
screen -S vpn
wget -c http://nchc.dl.sourceforge.net/project/vpn3in1/vpn3in1.tar.gz
tar zxvf vpn3in1.tar.gz
./vpn3in1.sh 2>&1 | tee vpn3in1.log

vpn3in1
2014.1.20修复openvpn生成证书错误;
2012.8.25更新:本地完整安装包;
2012.3.19更新:添加对自定义下载安装包地址的支持;
2011.8.5更新:添加对centos 6.0支持;
2011.7.2更新:添加验证已安装mysql的root用户密码是否正确;添加Daloradius,RadiusManager,apache。详细安装可以看图示;
2011.5.8更新:添加可选使用本机freeradius服务或者使用远程freeradius服务器,如果使用远程则不会在本机安装freeradius及mysql服务;
提高Mysql是否安装识别,去除Nginx,phpMyAdmin,daloradius安装,这些功能建议单独安装,还原OPENVPN端口为1194。
已知问题: L2TP不能记录callingstationid,OPENVPN使用UDP端口不能记录acctstoptime
根据palfans修改而成,http://www.palfans.net/3-in-1-vpn-package/

开启mysql远程帐号脚本

mysql -u root -proot;
grant all on *.* to username@'%' identified by 'password';
flush privileges;

其中 all 指定相关的操作, .说明数据库和表名, username表示用户名,‘%’这里写Host名称,允许所有就用‘%’,‘password’是密码。这里改成相应的值后进行操作就可以开启远程帐号访问

修改VPN服务器radius认证为远程服务器

修改参数在VPN服务器运行下面脚本

radius_server="radius服务器IP"
secret_key="yishanhome.com"
etc_dir="/usr/local/etc"
sed -i -e "s/name=127.0.0.1/name=$radius_server/" /etc/openvpn/radiusplugin.cnf
sed -i -e "s/sharedsecret=testpw/sharedsecret=$secret_key/" /etc/openvpn/radiusplugin.cnf
sed -i -e "s/localhost:1812/$radius_server:1812/" $etc_dir/radiusclient/radiusclient.conf
sed -i -e "s/localhost:1813/$radius_server:1813/" $etc_dir/radiusclient/radiusclient.conf
mv -f $etc_dir/radiusclient/servers $etc_dir/radiusclient/servers.bak
cat >> $etc_dir/radiusclient/servers <<EOF
$radius_server $secret_key
EOF

修改参数在radius服务器运行下面脚本

client_ip="VPN服务器IP"
secret_key="yishanhome.com"
etc_dir="/usr/local/etc"
iptables -A INPUT -i eth0 -p udp -s $client_ip --dport 1812 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s $client_ip --dport 1813 -j ACCEPT
cat >> $etc_dir/raddb/clients.conf <<EOF
client localhost {
 ipaddr = $client_ip
 secret = $secret_key
 require_message_authenticator = no
 nastype  = other
}
EOF