服务器配置教程——在LinuxUbuntu中配置PHP开发环境
本教程介绍如何在Ubuntu操作系统(7.10及更高版本)中配置PHP开发环境。这涉及安装和配置PHP引擎,MySQL数据库,Apache Web服务器和XDebug调试器。
由于网络环境的因素,ERP服务器只能放在A区才能通过外网IP的方式让A、B、C三区都能正常连接ERP服务器进行办公,但由于工作时间的不同,会导致其它办公区不能按工作时间使用ERP系统。
改造后要实现的目标:
ERP系统要24小时能访问,同时要保证ERP系统的安全,让员工只在指定的机器上进行连接访问。
想搭建自己公司的ERP系统请阅读并且参考《企业erp如何选云服务器配置?》
方案:
获取云免费云服务器传送门
ECS上安装OpenVPN服务器,将ERP服务器放置到C区,服务器和所有员工使用的电脑通过VPN证书连接虚拟网络,这样就可以通过VPN穿透移动宽带的内网和铁通宽带的线路限制。
VPN网络搭建
ECS环境(操作系统为CentOS 7.x)
ECS服务器上要配置epel软件源,由于云ECS上已经配置了epel源,此处不用配置。
安装OpenVPN所需软件
yum -y install openvpn easy-rsa iptables-services
拷贝easy-rsa脚本到/etc/openvpn
cp -r /usr/share/easy-rsa/ /etc/openvpn
进入easy-rsa目录并编辑vars文件
cd /etc/openvpn/easy-rsa/2.0
vim vars
export KEY_SIZE=2048
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
export KEY_COUNTRY=”CN”
export KEY_PROVINCE=”YN”
export KEY_CITY=”Kunming”
export KEY_ORG=”MYORG”
export KEY_EMAIL=”wanglu@example.com”
export KEY_OU=”MyOrgUnit”
export KEY_NAME=”EasyRSA”
让上面修改的变量生效
source ./vars
运行clean-all心确保工作区的干净
./clean-all
现在可以开始生成证书了,生成过程中会在交互界面要你输入一些参数,由于之前在vars中设置过了,这里全部按回车就行
./build-ca
此命令生成的ca.crt和ca.key会保存在/etc/openvpn/easy-rsa/2.0/keys/目录下
生成服务器端证书和密钥
./build-key-server server
运行该命令后会提示输入一些参数,此处我全部留空,但要注意,提示输入[y/n]时输入y,这样就完成服务器端证书生成了
生成一个Diffie-Hellman交换密钥
./build-dh
生成客户端证书
./build-key client1
该命令和生成服务端证书步骤一样
将ca.crt、server.crt、server.key、dh2048.pem拷贝到/etc/openvpn目录下
cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn/
cp /etc/openvpn/easy-rsa/2.0/keys/server.crt /etc/openvpn/
cp /etc/openvpn/easy-rsa/2.0/keys/server.key /etc/openvpn/
cp /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem /etc/openvpn/
配置OpenVPN服务器
拷贝示例配置文件到/etc/openvpn目录下
cp /usr/share/doc/openvpn-2.3.8/sample/sample-config-files/server.conf /etc/openvpn/
修改配置如下:
# 填写OpenVPN要使用的IP地址
# 这里我写ECS服务器的外网IP
# 具体IP根据自己的服务器来写
local xxx.xxx.xxx.xxx
# 使用的端口,记住防火墙要打开1194端口
port 1194
# 使用的协议,保持默认
proto udp
# “dev tun” will create a routed IP tunnel,
dev tun
# 生成的证书相关的配置
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
# 网络拓扑,为了让所有客户端在同一子网内,打开此选项
topology subnet
# 配置使用的IP地址
# 下面的设置,些服务器会自动使用10.8.8.1做为自己的IP地址
server 10.8.8.0 255.255.255.0
# 如果要固定客户端的IP地址,请打开此选项,否则不要打开
client-config-dir ccd
# 此选项必须打开
push “redirect-gateway def1 bypass-dhcp”
# 网络相关的设置,此处用DNSPOD的DNS
push “dhcp-option DNS 119.29.29.29”
push “dhcp-option DNS 182.254.116.116”
# 让客户端之间可以相互通讯
client-to-client
# 第20秒会进行ping测试,如果120秒没有回应会断线
keepalive 20 120
comp-lzo
max-clients 20
# 为了安全
user nobody
group nobody
persist-key
persist-tun
# 开启日志
log-append /var/log/openvpn.log
# 设置日志等级
verb 3
因为我在配置文件中配置了client-config-dir ccd,所以我要继续设置客户端IP(没有打开的可以不用设置,DHCP服务器会自动分配)
首先在/etc/openvpn下建立ccd目录
mkdir /etc/openvpn/ccd
这里我将之前生成的client1的客户端IP设置为如下10.8.8.101,子网掩码为255.255.255.0
vi /etc/openvpn/ccd/client1
配置文件如下:
ifconfig-push 10.8.8.101 255.255.255.0
禁用firewalld启用iptables
为了有效的进行数据转发,要关闭CentOS 7默认的firewalld开启iptables
#关闭firewalld
systemctl stop firewalld
#禁用firewalld
systemctl disable firewalld
#启用iptables
systemctl enable iptables
#启动iptables
systemctl start iptables
禁用SELINUX,并重启服务器
vi /etc/selinux/config
# 更改配置文件中的参数如下
SELINUX=disabled
修改linux内核参数,开发端口功能
vi /etc/sysctl.conf
# 修改如下参数
net.ipv4.ip_forward = 1
# 让内核参数更新
sysctl -p
在iptables中增加一条转发规则
# 注意规则中eth1,这个是对应server.conf中配置的外网IP地址所在的网络接口
iptables -t nat -A POSTROUTING -s 10.8.8.0/24 -o eth1 -j MASQUERADE
# 保存规则
iptables-save > /etc/sysconfig/iptables
启动OpenVPN服务器
systemctl start openvpn@server
至此,OpenVPN服务器搭建完成
本文取材自互联网,如有侵权处还请联系管理员删除!