CentOS 7搭建OpenVPN-Admin
安装注意要点:
1、用户及目录权限
2、openvpn配置文件/etc/openvpn/server.conf,可以设置不同的转发模式等等
3、全程使用apache,不要用其它的如nginx这些,不然你会发现配置很惨!
4、你不要去找其它的搭建教程,基本上都是不行的,只有这篇是成功的。
说明:
1、这东西本身自带自动安装openvpn,所以已安装之后会自动启动openvpn,并且使用nat模式。
2、如果要修改openvpn服务端的相关配置,可以通过/etc/openvpn/server.conf进行更改。
3、OpenVPN-Admin的原理是生成一份全局的client的ca证书,通过账号来管理。其实这种方式非常不安全。
4、OpenVPN-Admin其实不太好装,依赖PHP,MySQL,以及Apache,总体非常难配置。
5、为什么OpenVPN-Admin能检测到登录的IP等等,其实是通过openvpn的启动和断线自定义脚本实现,重写shell脚本,然后钩子插入到数据库。
下面是搭建步骤:
网上搭建的方法基本都试了一次,不是这里错就是那里错!
系统版本:CentOS 7.4
OpenVPN-Admin版本:master-20180511(链接:https://pan.baidu.com/s/1V1SssUvUFalYSBTanXuRqg 密码:a92c)
0、关闭一切防火墙
# 卸载网络组件
systemctl stop NetworkManager
systemctl disable NetworkManager
# 关闭默认防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
# 安装iptables
yum install -y iptables
# 升级iptables
yum update iptables
# 安装iptables-services
yum install -y iptables-services
# 设置开机启动
systemctl enable iptables
# 启动
systemctl start iptables
# 清空所有默认规则
iptables -F
# 清空所有自定义规则
iptables -X
# 所有计数器归0
iptables -Z
# 停止服务
service iptables stop
1、安装php
参考:https://www.cnblogs.com/EasonJim/p/9614577.html
2、安装依赖
yum install -y epel-release yum install -y openvpn httpd php php-mysql mariadb-server nodejs unzip git wget sed npm npm install -g bower systemctl enable mariadb systemctl start mariadb
git clone https://github.com/Chocobozzz/OpenVPN-Admin openvpn-admin cd openvpn-admin ./install.sh /var/www apache apache
期间会提示数据服务器IP,以及自动创建数据库,账号及密码。
3、配置数据库连接
直接使用root账号
vi /var/www/openvpn-admin/include/config.php
<?php
$host = 'localhost';
$port = '3306';
$db = 'openvpn-admin';
$user = 'root';
$pass = '';
?>
mariadb默认root没有密码。
4、配置apache支持php
vi /etc/httpd/conf/httpd.conf


5、配置apache的html目录指向/var/www/openvpn-admin
vi /etc/httpd/conf/httpd.conf


5.1、配置apache启动
systemctl enable httpd systemctl start httpd
6、最后浏览器访问安装地址进行安装
http://your-installation/index.php?installation
自动化安装脚本:
https://github.com/easonjim/centos-shell/blob/master/openvpn-admin/install-auto-centos7.sh
参考:
https://github.com/Chocobozzz/OpenVPN-Admin
CentOS 7搭建OpenVPN-Admin的更多相关文章
- CentOS 6.9/Ubuntu 16.04搭建OpenVPN服务器以及客户端的使用
说明: 1.发现一个很奇怪的现象,CentOS和Ubuntu有着对用户不同的管理理念,比如CentOS中安装一切软件都是以root优先(su -),而Ubuntu则以当前用户优先,安装软件以sudo开 ...
- CentOS搭建OpenVPN以及WIN&Android&iOS的安装连接
OpenVPNhttp://info.swufe.edu.cn/vpn/openvpn/#2 苹果.安卓智能手机openvpn的设置_百度经验https://jingyan.baidu.com/art ...
- 完整CentOS搭建OpenVPN服务详细教程
一.介绍 1.定义 ① OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,最早由James Yonan编写.OpenVPN允许创建的VPN使用公开密钥.电子证书.或者用户名/密码来进行身份验证 ...
- openSUSE搭建OpenVPN
目录 openSUSE搭建OpenVPN 环境 安装openVPN服务端 安装easy-rsa工具 配置vars文件 创建服务端证书及key 创建客户端证书 疏理证书文件 服务端配置 启动openvp ...
- CentOS 7 搭建PXC 数据库集群
CentOS 7 搭建PXC 数据库集群 PXC( Percona XtraDB Cluster ) 特点如下: 1.同步复制,事务要么在所有节点提交或不提交,保证了数据的强一致性. 2.多主复制,可 ...
- 基于 CentOS 8 搭建 openLDAP 服务器
转载请注明原文地址:基于 CentOS 8 搭建 openLDAP 服务器 环境 OS: CentOS 8.4.2105 PHP: 7.4.21 注意 CentOS 7 中可能默认提供了 openLD ...
- CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
- CentOs上搭建git服务器
CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...
- Centos下搭建 nginx+uwsgi+python
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
- Ubuntu16.04搭建OpenVPN
Ubuntu16.04搭建OpenVPN 2018年12月27日 15:50:59 VinQin 阅读数:21042 简介 如果在一个非信任网络下比如旅社或者咖啡店的WiFi网络下,想要通过你的智 ...
随机推荐
- Myeclipse 工具优化 [内存一直增加, jsp,javascript 编辑很卡]
首先看这篇随笔 地址: Myeclipse/STS 首次在本地部署配置一个Spring MVC 项目 (十二) [http://www.cnblogs.com/editor/p/3915239.htm ...
- [机器学习&数据挖掘]SVM---核函数
1.核函数概述: 核函数通俗的来说是通过一个函数将向量的低维空间映射到一个高维空间,从而将低维空间的非线性问题转换为高维空间的线性问题来求解,从而再利用之前说的一系列线性支持向量机,常用的核函数如下: ...
- 第11月第11天 avplayer循环播放
1. /* Setting actionAtItemEnd to None prevents the movie from getting paused at item end. A very sim ...
- MongoDB 之 "$" 的奇妙用法 MongoDB - 5
在MongoDB中有一个非常神奇的符号 "$" "$" 在 update 中 加上关键字 就 变成了 修改器 其实 "$" 字符 独立出现 ...
- 数链剖分(Aragorn's Story )
题目链接:https://vjudge.net/contest/279350#problem/A 题目大意:n个点,m条边,然后q次询问,因为在树上,两个点能确定一条直线,我们可以对这条直线上的所有值 ...
- Servlet、ServletConfig、ServletContext深入学习
1.Servlet学习 1.Servlet生命周期 Servlet 加载—>实例化—>服务—>销毁. init(servletConfig):(经过自己的测试发现会先调用这个而不是i ...
- 查询总结、HQL语法、QBC(QueryByCriteria)深入学习
1.查询总结 在之前的批量查询练习的时候练习基本五种查询方法的使用: 1.OID查询---根据对象ID进行查询 2.对象属性导航查询: obj.getXXX 3.HQL查询:Query对象查询 4.Q ...
- linux下热插拔事件的产生是怎样通知到用户空间,kobject_uevent_env之uevent【转】
转自:http://blog.csdn.net/myarrow/article/details/8259888 1.kobject, ktype, kset 1) kobject: 代表sysfs中的 ...
- SSL邮件发送(腾讯企业邮箱测试通过,可以支持多附件)
参考网址:http://www.cnblogs.com/LUA123/p/5575134.html ,谢谢! package net.common.utils.common; import java. ...
- java 完全解耦
只要有一个方法操作的是类而非接口,那么你就只能使用这个类及其子类,如果你想要将这个方法应用于不在此继承结构中的某个类,那么你就会触霉头,接口可以在很大程度上放宽这种限制,因此,我们可以编写可服用性更好 ...