Friday, April 22, 2016

手把手教学之利用VPS实现科学上网

因为是计算机专业,平时查资料什么的还是谷歌比较靠谱,无奈谷歌被墙,以前都是去淘宝买10块钱一个月的SS账号实现科学上网,用了一段时间突然想自己搭一个梯子, 以便在互联网里自由地遨游,折腾了一下午,基本搭建完毕,所以将自己的搭建过程记录下来,让有意自己实现科学上网的人可以在这篇教程的指导下一步一步完成,我相信搭建完后之后你一定会像我一样油然而生一种自豪感,瞬间膨胀,感觉自己都要上天了。

好,前面做了这么多铺垫,下面正式开始我们的教程。

第一步:首先你得有个VPS

买VPS的话有很多选择,搬瓦工、Digitalocean、Vultr、Conoha等等都是不错的选择,读者朋友可以自行选择,笔者选用的是Conoha(怎么感觉有打广告的嫌疑,不行,我要发邮件给Conoha让他们付我广告费),搬瓦工的话性价比也还可以,便宜又好用!

第二步:配置你的VPS

一般来说,买的VPS都是装好了系统的,这里以CentOS 7.2为例,利用远程登录软件登录到你的VPS上,这里笔者推荐使用secureCRT,利用这个软件在windows下操作你的VPS会特别方便 。登陆上去后,那么自然就是要配置环境了,笔者使用的环境是LAMP,当然,你也可以用LNMP,这个不存在问题,只是本文教程是基于LAMP。可能有些读者会问,LAMP是什么?我没有linux方面的使用经验怎么办?本文的标题是手把手教学,自然是简单易懂,关于这个LAMP,网上已经有大神写了 LAMP一键安装脚本,在这里感谢秋大,让我在搭建过程中省了不少时间

LAMP环境配置

1.准备工作

yum -y install wget screen unzip      #安装一些基础软件

2.下载、解压并赋予执行权限

wget –no-check-certificate -O lamp.zip

http://ift.tt/1SAZt5G; #这是一条命令

unzip lamp.zip    

cd lamp-master/

chmod +x *.sh

3.安装LAMP

./lamp.sh

4.安装过程中的注意事项

安装过程中会让你选择各种软件的版本以及设置MySQL数据库密码,下面是笔者关于软件版本的选择,你如果不知道怎么选的话可以照着我这个选

MySQL    版本:5.5

PHP         版本:5.5

整个安装过程在半个小时左右,其实笔者不知道具体是多久,因为笔者执行了脚本后就去操场跑步了,跑完步回来环境就搭建好了,没出什么意外,一切都很顺利,希望你们也如此!

三.配置数据库

在浏览起立输入 你的VPS的IP/phpmyadmin便可以进入数据库管理页面,使用你在安装LAMP时设置的账号密码进行登录即可

 


phpmyadmin登陆界面

新建一个数据库,取名shadowsocks(其实名字可以随便取,这个无所谓,只是下面的步骤里还有个填数据库名字的,对应起来就可以),建好数据后将ss-panel源码包中的db-160404.sql(你的可能不一定叫这个名字,-后面是你下载源码的日期)导入到数据库中

 


 

四. 安装并配置ss-panel

ss-panel是一个前端框架,使用这个框架可以很简单地搭建一个SS分享站,实现效果如下图所示

 


ss-panel界面

 

1.下载ss-panel源码,解压然后使用secureFX将文件上传至/data/www/default目录下(放到这个目录下是因为秋大的一键脚本的网站默认目录就是这个)

ss-panel  GitHub 项目地址:ss-panel

当然,你也可以使用下面的命令在VPS上直接进行下载

cd /data/www/default         #进入default文件夹

git clone http://ift.tt/1SAZt5O; #从github上下载源码

2.源码的问题解决之后,现在你的VPS上的文件目录结构应该是这样的,确保ss-panel解压出来的文件放在default目录下

 


文件目录结构

3.配置ss-panel

笔者在这个步骤之前一直很顺利,但是在这个步骤确实耗费了一些时间,因为ss-panel已经升级到第三版了,而大多教程都是基于第二版的,不过最后还是在github上找到了答案。

 


ss-panel路径配置

这是ss-panel作者的说明,下面我来讲一下具体操作

cd /usr/local/apache/conf/extra/       #进入extra文件夹

vim httpd-vhosts.conf   #编辑httpd-vhost文件

原文:http://ift.tt/1oThM8p


apache配置

                             

安装composer来自动管理依赖

# curl-sS http://ift.tt/SI3ujS | php

# php composer.phar  install

再安装所需的 redis 依赖

#sudo apt-get install redis-server

接着进行我们的配置

# cp  .env.example  .env        

.env.example是ss-panel源码包里的一个文件,它是一个隐藏文件,可以通过ls -al命令来查看到它,这个文件主要用来配置数据库,把对应项填写好即可


env配置文件

这个时候,你便可以在浏览器里输入 IP/admin来进入sspanel后台了,不过在这之前你还需要创建一个管理员账户

# php xcat createAdmin    #在站点根目录下也就是default文件夹下运行

add admin/创建管理员帐号…..

Enter your email/输入管理员邮箱: h@prinzeugen.net

Enter passwordfor: h@prinzeugen.net /为 h@prinzeugen.net 添加密码 xxx

Email: h@prinzeugen.net, Password: xxx

Press [Y] to create admin….. 按下[Y]确认来确认创建管理员账户….. y

start create admin accountSuccessful/ 添加成功!

五.部署shadowsocks-manyuser

下载shadowsocks-manyuser到default目录下

# gitclone-b manyuser http://ift.tt/1TOsI4a

安装pip包管理器

# sudo yum install python-pip

安装依赖包

# pip install cymysql

配置config.py

 


config.py配置

防火墙配置,因为CentOS7采用的默认防火墙是firewall,所以在这里我们需要关闭默认防火墙并启用iptables

 


开启iptables

 

放行你注册时分配的端口

#iptables -I INPUT -p tcp -m tcp –dport 你的端口 -j ACCEPT

#iptables-save

当然你也可以批量放行端口,下面这条语句就放行了端口号大于等于12450的端口

#iptables -I INPUT -p tcp -m tcp –dport 12450: -j ACCEPT

在ss-panel中添加节点,然后运行一下下面的命令

$ python servers.py

如果不出意外的话,现在你就可以在windows上利用shadowsocks客户端进行科学上网了

配置supervisor让server.py一直处于运行状态而不被kill

安装supervisor

#pip install supervisor

创建配置文件

#echo_supervisord_conf > /etc/supervisord.conf

运行supervisor服务

# supervisord

配置 supervisor 以监控 ss-manyuser 运行

# vim /etc/supervisord.conf

在文件尾部添加如下内容

[program:ss-manyuser]

command= python /root/shadowsocks-rm/shadowsocks/servers.py       #这里的路径是py文件的绝对路径,请根据实际情况进行修改

user= root

autostart=true

autorestart=true

重启 supervisor 服务以加载配置

# killall -HUP supervisord

到这里,你的科学上网利器基本上搭建完成,有前端,有后端,你可以分享给你的朋友们,当然,你还可以进行优化操作,比如修改网站的样式,加速访问速度,请各位自行探索。

最后一点 :绑定域名

域名购买

万网或者godaddy都可以

域名解析

万网的云解析或者DnsPod都可以用来解析,具体解析方法就不再赘述,百度上一大把,解析完成后你就可以通过你购买的域名来访问你的网站了

没错,就是这么神奇!

本教程到此结束,有问题可以私信我!

文/大梦想家(简书作者)
原文链接:http://ift.tt/1oThM8p
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。



via 细节的力量 http://ift.tt/1XMQxZ7

No comments:

Post a Comment