如何使用nginx和freebsd 10.2上的nginx和ssl安装ajenti

时间:2020-03-05 15:27:44  来源:igfitidea点击:

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。