Debian 8系统环境下Froxlor主机控制面板的安装和使用

Froxlor是知名的主机控制面板。它完全开源,因此所有人都可以免费使用。同时,它拥有不弱于cPanel, DirectAdmin等收费面板的功能、安全性和实用性(包括子账户、邮箱、FTP、分销、工单系统等功能),以及美观大气的使用界面。其唯一缺点,在我看来是安装过程繁琐冗长。本次我将详细介绍Debian 8操作系统下安装Froxlor和配置的方法。本文作者为香菇肥牛http://qing.su 未经允许,不得转载。

 

值得一提的是,国内不少知名博主(比如赵容、老左等)均写过Froxlor的安装过程,然而如果大家按照那上面的步骤去操作,则安装好的Froxlor完全无法使用(表现为Cron Job List一直堆积, FTP无法连接等),其根本原因是他们根本就没有自己操作和使用过这个面板,因此都没有提及安装完成后的配置步骤(而那才是主要部分)。本次我给出的这个Froxlor安装和配置过程非常详细。希望对大家有所帮助。

 

安装的基本条件: 1, 新装的Debian 8 (32/64 bit) VPS一台; 2, SSH root账户; 3, 较为熟练的vi操作; 4, 请将你的域名example.com A记录解析到你的VPS的IP, *.example.com A记录解析到你的VPS的IP; 5, 确保VPS的主机名是example.com (请用hostname命令查看)。

下面,我们就开始安装Froxlor. 安装Froxlor之前,我们要安装好必要的软件。下面以LAMP为例搭建Froxlor基础环境,若你倾向于用EngineX, 则后续的配置部分请自行更改。如果你的包管理器中默认将MySQL替换成了MariaDB, 这没有关系,后续部分无需任何更改。

Froxlor的安装

 

在Debian系统中我们可以通过包管理器安装Froxlor. 依次执行:

 

touch /etc/apt/sources.list.d/froxlor.list

echo ‘deb http://debian.froxlor.org jessie main’ > /etc/apt/sources.list.d/froxlor.list

apt-key adv –keyserver pool.sks-keyservers.net –recv-key FD88018B6F2D5390D051343FF6B4A8704F9E9BBC

apt-get update && apt-get upgrade

apt-get install froxlor

安装过程中会出现两个选项框,第一次是配置Courier, 我们选择YES. 第二次是配置ProFTPD, 这里我们需要选择Standalone.

 

如果没有报错,那么Froxlor文件夹已经安装到主机上了,其位置是/var/www/froxlor 然而这个地址是不能直接通过浏览器访问的(这很奇怪,Froxlor经过这么多的版本了难道连apache的默认网页文件夹都不知道在哪儿吗…),我们需要将其复制到可以访问的目录下:

 

mv /var/www/froxlor /var/www/html/froxlor

然后我们在浏览器中打开http://your_IP/froxlor则可以看到froxlor安装界面,点击下一步会出现froxlor需要的组件清单,如果有哪一项缺失,请自行安装。比如如果缺少php-curl组件,则在SSH中执行apt-get install php5-curl安装该组件。(安装完毕后需重启Apache)

 

将缺少的包全部补充完毕后,点击continue, 会出现连接数据库的界面。这里,我们需要新建一个数据库用来存放Froxlor数据。回到SSH, 执行:

 

mysql -u root -p

输入你的MySQL root账户密码后,进入MySQL命令界面。我们新建数据库:

 

CREATE DATABASE froxlor;

GRANT ALL ON froxlor.* TO ‘froxlor’ IDENTIFIED BY ‘MYSQL_PASSWORD’;

quit;

然后我们将froxlor用户和密码以及root账户和密码填进froxlor安装界面的表单中,填好FQDN, IP等信息,设定管理员用户名和密码,最后点击continue。这样,Froxlor成功地安装在了主机上。

 

Froxlor的配置

 

按上述步骤安装好Froxlor后并不能马上使用。如果此时你在后台新建账户、发送邮件、管理FTP等操作时虽然会提示成功,但实际上没有发生任何变化。我们需要配置系统环境使其能够配合Froxlor. 考虑到国内大多数朋友不会用到邮件服务器,因此我们在这里只介绍HTTP, FTP和Cron这三个必须的配置。如果您需要用Froxlor管理您的邮件服务器,请后台登录后在左侧仪表盘中找到Configuration, 选择对应的邮件服务器,按提示进行配置。

 

首先,配置HTTP服务器。打开SSH, 依次执行:

 

mkdir -p /etc/apache2/sites-enabled/

chown root:0 /etc/apache2/sites-enabled/

chmod 0600 /etc/apache2/sites-enabled/

mkdir -p /etc/apache2/sites-enabled/

chown root:0 /etc/apache2/sites-enabled/

chmod 0600 /etc/apache2/sites-enabled/

mkdir -p /var/customers/webs/

mkdir -p /var/customers/logs/

mkdir -p /var/customers/tmp

chmod 1777 /var/customers/tmp

a2dismod userdir

/etc/init.d/apache2 restart

接着我们配置FTP服务器。执行:

 

apt-get install proftpd-basic proftpd-mod-mysql

编辑文件/etc/proftpd/proftpd.conf, 将其内容替换为下面的内容:

 

Include /etc/proftpd/modules.conf

UseIPv6                                                off

IdentLookups                             off

ServerName                     “FTP Server”

ServerType                                standalone

DeferWelcome                           off

MultilineRFC2228                      on

DefaultServer                            on

ShowSymlinks                           on

TimeoutNoTransfer                    600

TimeoutStalled                           600

TimeoutIdle                               1200

DisplayLogin                    welcome.msg

DisplayChdir                   .message true

ListOptions                     “-l”

DenyFilter                                 \*.*/

Port                                          21

MaxInstances                             30

User                                          proftpd

Group                                       nogroup

Umask                                      022  022

AllowOverwrite                         on

TransferLog /var/log/proftpd/xferlog

SystemLog   /var/log/proftpd/proftpd.log

 

QuotaEngine on

 

 

Ratios off

 

 

DelayEngine on

 

 

ControlsEngine        off

ControlsMaxClients    2

ControlsLog           /var/log/proftpd/controls.log

ControlsInterval      5

ControlsSocket        /var/run/proftpd/proftpd.sock

 

 

AdminControlsEngine off

 

Include /etc/proftpd/sql.conf

Include /etc/proftpd/conf.d/

执行:

 

chmod 0600 “/etc/proftpd/proftpd.conf”

chown root:0 “/etc/proftpd/proftpd.conf”

编辑文件:/etc/proftpd/modules.conf, 将其内容替换为以下内容:

 

ModulePath /usr/lib/proftpd

ModuleControlsACLs insmod,rmmod allow user root

ModuleControlsACLs lsmod allow user *

LoadModule mod_ctrls_admin.c

LoadModule mod_tls.c

LoadModule mod_sql.c

LoadModule mod_sql_mysql.c

LoadModule mod_radius.c

LoadModule mod_quotatab.c

LoadModule mod_quotatab_file.c

LoadModule mod_quotatab_sql.c

LoadModule mod_quotatab_radius.c

LoadModule mod_wrap.c

LoadModule mod_rewrite.c

LoadModule mod_load.c

LoadModule mod_ban.c

LoadModule mod_wrap2.c

LoadModule mod_wrap2_file.c

LoadModule mod_dynmasq.c

LoadModule mod_exec.c

LoadModule mod_shaper.c

LoadModule mod_ratio.c

LoadModule mod_site_misc.c

LoadModule mod_sftp.c

LoadModule mod_sftp_pam.c

LoadModule mod_facl.c

LoadModule mod_unique_id.c

LoadModule mod_copy.c

LoadModule mod_deflate.c

LoadModule mod_ifversion.c

LoadModule mod_tls_memcache.c

LoadModule mod_ifsession.c

执行:

 

chmod 0644 “/etc/proftpd/modules.conf”

chown root:0 “/etc/proftpd/modules.conf”

编辑文件:/etc/proftpd/sql.conf, 将内容替换为下面的内容:

 

DefaultRoot ~

RequireValidShell off

AuthOrder mod_sql.c

SQLBackend     mysql

SQLEngine on

SQLAuthenticate on

SQLAuthTypes Crypt

SQLAuthenticate users* groups*

SQLConnectInfo [email protected] froxlor MYSQL_PASSWORD

SQLUserInfo ftp_users username password uid gid homedir shell

SQLGroupInfo ftp_groups groupname gid members

SQLUserWhereClause “login_enabled = ‘y'”

SQLLog PASS login

SQLNamedQuery login UPDATE “last_login=now(), login_count=login_count+1 WHERE username=’%u'” ftp_users

SQLLog RETR download

SQLNamedQuery download UPDATE “down_count=down_count+1, down_bytes=down_bytes+%b WHERE username=’%u'” ftp_users

SQLLog STOR upload

SQLNamedQuery upload UPDATE “up_count=up_count+1, up_bytes=up_bytes+%b WHERE username=’%u'” ftp_users

QuotaEngine on

QuotaShowQuotas on

QuotaDisplayUnits Mb

QuotaLock /var/lock/ftpd.quotatab.lock

QuotaLimitTable sql:/get-quota-limit

QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

SQLNamedQuery get-quota-limit SELECT “ftp_users.username AS name, ftp_quotalimits.quota_type, ftp_quotalimits.per_session, ftp_quotalimits.limit_type, panel_customers.diskspace*1024 AS bytes_in_avail, ftp_quotalimits.bytes_out_avail, ftp_quotalimits.bytes_xfer_avail, ftp_quotalimits.files_in_avail, ftp_quotalimits.files_out_avail, ftp_quotalimits.files_xfer_avail FROM ftp_users, ftp_quotalimits, panel_customers WHERE ftp_users.username = ‘%{0}’ AND panel_customers.loginname = SUBSTRING_INDEX(‘%{0}’, ‘ftp’, 1) AND quota_type =’%{1}'”

SQLNamedQuery get-quota-tally SELECT “name, quota_type, bytes_in_used,bytes_out_used, bytes_xfer_used, files_in_used, files_out_used,files_xfer_used FROM ftp_quotatallies WHERE name = ‘%{0}’ AND quota_type = ‘%{1}'”

SQLNamedQuery update-quota-tally UPDATE “bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used= files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name= ‘%{6}’ AND quota_type = ‘%{7}'” ftp_quotatallies

SQLNamedQuery insert-quota-tally INSERT “%{0}, %{1}, %{2}, %{3}, %{4},%{5}, %{6}, %{7}” ftp_quotatallies

注意:请将该文件中的MYSQL_PASSWORD替换为你的Froxlor数据库密码。

 

执行:

 

chmod 0600 “/etc/proftpd/sql.conf”

chown root:0 “/etc/proftpd/sql.conf”

/etc/init.d/proftpd restart

这样,我们完成了FTP的配置。

 

最后,我们配置Cron Job. 编辑文件:/etc/cron.d/froxlor, 内容替换为:

 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

*/5 * * * *         root      /usr/bin/nice -n 5 /usr/bin/php5 -q /var/www/html/froxlor/scripts/froxlor_master_cronjob.php

执行:

 

chmod 0640 “/etc/cron.d/froxlor”

chown root:0 “/etc/cron.d/froxlor”

/etc/init.d/cron reload

至此,Froxlor配置完毕,可以实现新建账户、分配空间、设置分销等功能了。

 

 

需要注意的是,Froxlor的某些操作通过Cron Job实现,因此会有稍许延迟,比如我们新建一个虚拟主机账户,则新建的主机网站需要几分钟后才能访问。

打赏
Bookmark the permalink.
0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论