如何使用nginx和freebsd 10.2上的nginx和ssl安装ajenti
Ajenti基于开源Web的系统管理工具,基于Python的服务器的控制面板。
支持许多发行版,如Ubuntu,CentOS,Debian和Unix FreeBSD。
使用Python编码的Ajenti,它是轻量级控制面板,具有漂亮的界面。
它允许我们在服务器上管理服务,管理Apache,Cron作业,防火墙,MySQL数据库等.Ajenti是强大的,易于安装。
在本教程中,我们将指导我们使用nginx作为Web服务器将Ajenti安装,然后在FreeBSD 10.2上配置SSL for Ajenti。
我们将指导我们从PIP安装Ajenti(Python中的包管理),安装Ajenti从FreeBSD端口安装所有包,然后安装和配置Nginx以在Ajenti的前面运行,并启用SSL。
前提
- FreeBSD 10.2 - 64bit。
- root权限。
第1步 - 更新FreeBSD端口
登录FreeBSD服务器并更新存储库:
freebsd-update fetch freebsd-update install
步骤2 - 需要安装包
在此步骤中,我们将安装Ajenti所需的所有包。
我们将从FreeBSD端口安装所有内容。
只需转到端口目录"/usr/ports /",然后选择包,编译并安装它。
ajenti需要py-gvent,所以转到py-gevent的目录:
cd /usr/ports/devel/py-gevent
然后用命令安装它:
make install clean
安装:编译并安装端口。
清洁:删除用于构建端口的工作目录和其他临时文件。
接下来,只需安装上面的Py-Gevents就像安装所有这些端口。
# Install py-lxml cd /usr/ports/devel/py-lxml make install clean # Install Pyhton pip cd /usr/ports/devel/py-pip make install clean # Install py-ldap module cd /usr/ports/net/py-ldap make install clean # Install jpeg module that needed by Pillow python imaging library. cd /usr/ports/graphics/jpeg make install clean
等待所有。
第3步 - 安装ajenti
在像Ubuntu和CentOS这样的Linux发行版上,我们可以从存储库中安装Ajenti。
但在本辅导中,我们将从PIP命令中安装Ajenti。
PIP是用于安装和管理在Python中编写的软件包的包管理系统。
让我们安装:
pip install ajenti
现在配置它。
第4步 - 配置Ajenti
使用wget命令从github从github下载ajenti service脚本:
wget --no-check-certificate https://raw.github.com/ajenti/ajenti/1.x/packaging/files/ajenti-bsd -O /etc/rc.d/ajenti
接下来,更改服务文件的权限:
chmod +x /etc/rc.d/ajenti
配置Ajenti的服务脚本,因此让我们下载Ajenti的配置文件。
在我们下载之前,我们需要为Python二进制命令进行界限:
ln -s /usr/local/bin/python2 /usr/bin/python
并为Ajenti配置文件创建新目录:
mkdir -p /usr/local/etc/ajenti/ mkdir -p /etc/ajenti/
接下来,将配置文件下载到目录"/usr/local/etc/ajenti /",并为config文件创建一个符号链接到目录"/etc/ajenti /":
wget --no-check-certificate https://github.com/ajenti/ajenti/raw/1.x/config.json -O /usr/local/etc/ajenti/config.json ln -s /usr/local/etc/ajenti/config.json /etc/ajenti/config.json
然后使用nano编辑器编辑配置文件:
nano -c /etc/ajenti/config.json
在第35行,将值更改为"true"。
"authentication": true,
保存并退出。
如果完成,则使用sysrc命令添加Ajenti以在启动时运行,然后启动它:
sysrc ajenti_enable=yes service ajenti start
在端口8000,192.168.1.103:8000访问服务器IP。
步骤5 - 生成自签名SSL证书
在此步骤中,我们将生成新的自签名SSL证书。
转到"/usr/local/etc /"目录,并使名为"SSL"的新目录。
cd /usr/local/etc/ mkdir ssl cd /usr/local/etc/ssl
现在使用单openssl命令生成自签名的ssl证书文件:
openssl req -new -x509 -nodes -out ajenti.crt -keyout ajenti.key FILL With YOUR INFO
现在更改私钥的权限:
chmod 600 ajenti.key
在目录"/usr/local/etc/ssl /"上生成的ssl。
第6步 - 安装和配置nginx
在本教程中,我们将使用nginx作为在端口8000上运行的Ajenti的反向代理。
使用pkg命令从FreeBSD存储库安装nginx:
pkg install nginx
接下来,为Ajenti配置VirtualHost。
转到Nginx目录并为名为"vhost"的VirtualHost创建新目录:
cd /usr/local/etc/nginx/ mkdir vhost
转到vhost目录并使用Nano编辑器创建新文件Ajenti.conf:
cd /usr/local/etc/nginx/vhost nano -c ajenti.conf
粘贴下面的nginx virtualhost配置:
server { # Domain server_name myajenti.co; client_max_body_size 20m; # Nginx listening on port 80 and 443 listen 80; listen [::]:80; listen 443 default ssl; # SSL Certificate File ssl_certificate /usr/local/etc/ssl/ajenti.crt; ssl_certificate_key /usr/local/etc/ssl/ajenti.key; # Redirect HTTP to HTTPS if ($scheme = http) { return 301 https://$server_name$request_uri; } # Proxy pass configuration for ajenti location ~ /ajenti.* { rewrite (/ajenti)$/break; rewrite /ajenti/(.*) / break; proxy_pass http://127.0.0.1:8000; proxy_redirect//ajenti/; proxy_set_header Host $host; proxy_set_header Origin http://$host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; } }
保存并退出。
现在通过编辑nginx目录上的主要配置文件nginx.conf来激活nginx virtualhost:
cd /usr/local/etc/nginx/ nano -c nginx.conf
在下面的行结束前添加:
includ vhost/*.conf
保存并退出。
现在将nginx添加到启动时间,然后启动它并重新启动ajenti:
sysrc nginx_enable=yes service nginx start service ajenti restart
访问Domian:myajenti.cox/ajentii
使用默认帐户用户名"root"和密码"admin"登录Ajento。