• 如何在Debian桌面/服务器上安装Syncthing

    本教程将向您展示如何在Debian上安装Syncthing。Syncthing是一个免费的点对点连续文件同步程序,允许您跨多个设备同步文件,可用于Linux、BSD、macOS、Windows、Android和Solaris。 它是流行的Resilio Sync(以前称为BitTorrent Sync)应用程序的开源替代方案。在一台机器上创建、修改或删除文件将自动复制到其他设备。Syncthing不会将文件上传到Nextcloud这样的中央服务器,而是直接在设备之间交换数据。在设备之间传输时,所有数据都会使用TLS加密。 通过Deb官方存储库在Debian上安装Syncthing 使用curl下载GPG密钥,然后使用apt密钥导入密钥。 sudo apt get安装curl-shttps://syncthing.net/release-key.txt| sudo apt按键添加- 如果在终端中看到OK,则表示GPG密钥已成功导入。然后使用以下命令添加正式的deb存储库。 回声“黛布”https://apt.syncthing.net/syncthing stable“| sudo tee/etc/apt/sources.list.d/syncthing.list 由于该存储库使用https,我们需要安装apt transport https包,以便apt包管理器可以与该存储库建立https连接。 sudo apt get安装apt传输https 更新本地包索引并在Debian上安装syncthing。 sudo-apt-get-update sudo-apt-get-install-syncthing 使用Systemd将Syncthing设置为系统服务 官方Syncthing deb包附带所需的systemd服务文件。在/lib/systemd/system/directory下,您将找到一个[email ;protected]文件。通过运行以下命令,使syncthing在启动时自动启动。用实际用户名替换用户名。 sudo systemctl启用[电子邮件和#160;受保护]用户名。服务 上述命令将创建指向[email ;protected]文件的符号链接。 从/etc/systemd/system/multi-user创建符号链接。目标想要/[email ;protected]到/lib/systemd/system/[email ;protected] 现在,我们可以使用以下命令启动Syncthing服务。 sudo systemctl start[电子邮件和#160;受保护]用户名。服务 检查状态 systemctl状态[电子邮件和#160;受保护]用户名。服务 输出:   提示:如果上述命令没有立即退出,请按Q键重新控制终端。 我们可以看到Syncthing autostart已启用并且正在运行。 syncthing systemd服务在/home/username/下创建配置文件。config/syncthing/和一个文件夹/home/username/Sync作为默认的同步文件夹。主配置文件是/home/username/。config/syncthing/config。xml。 在其他操作系统上安装Syncthing 转到Syncthing下载页面,在Windows、macOS、BSD、Android等其他操作系统上安装Syncthing。 打开防火墙中的端口22000 Syncthing使用端口22000与对等方通信。如果您的计算机或服务器启用了UFW防火墙,则需要使用以下命令允许端口22000。 sudo ufw允许22000/tcp 访问Debian Syncthing Web界面 默认情况下,Syncthing服务监听127.0.0.1:8384。现在,在Web浏览器的地址栏中,键入127.0.0.1:8384以访问Syncthing Web界面。您可以添加其他同步设备并与它们共享文件夹。   如果在远程Debian服务器上安装Syncthing,则可以通过编辑配置文件来启用对Syncthing web界面的远程访问。 nano/home/username/。config/syncthing/config。xml 找到下面两行。 &lt;gui enabled=“true”tls=“false”debug=“false”&gt&书信电报;地址&gt;127.0.0.1:8384&lt/地址&gt; 将tls=“false”更改为tls=“true”,这样HTTP通信将被加密。并将127.0.0.1更改为Debian服务器的公共IP地址。保存并关闭文件。重新启动Syncthing以使更改生效。 sudo systemctl start[电子邮件和#160;受保护]用户名。服务 现在在web浏览器中键入服务器ip地址:8384以访问Syncthing web界面。显然,您需要使用Debian服务器的真实IP地址。您将被要求设置用户名和密码以保护Syncthing web界面。 您还可以使用Nginx或Apache设置反向代理以访问web用户界面,本教程稍后将对此进行解释。 开始在设备之间同步文件 一旦有两台设备运行Syncthing,我们就可以开始在它们之间同步文件了。 在Syncthing web界面中,单击操作&gt;在右上角显示ID。您将看到设备ID,它是一长串字母和数字。QR码也是设备ID,用于在智能手机上配置Syncthing。   复制设备ID,然后打开第二台设备的Syncthing Web界面,单击右下角的添加远程设备。然后粘贴设备ID并为设备命名。点击保存按钮。   现在,第二台设备将尝试连接到第一台设备。在第一台设备上刷新Web界面,您将看到以下消息。单击“添加设备”将第二个设备添加到第一个设备的设备列表中。   现在,这两个设备已连接。 Web界面左侧的一个窗格是默认的同步文件夹(/home/username/sync)。单击“添加文件夹”按钮添加新文件夹。为此文件夹指定一个描述性标签,并设置文件夹路径。   Syncthing作为您自己的用户帐户运行,因此您需要对共享文件夹具有写入权限。如果在共享文件夹时看到以下错误消息,则表示您没有该文件夹的写入权限。 2020-06-21 20:05:49:无法创建文件夹标记:mkdir。stfolder:只读文件系统 您可以使用setfacl授予写入权限。 sudo apt安装acl sudo setfacl-R-mu:username:rx/folder/path/ 在共享选项卡中,选择其他同步设备。   在“高级”选项卡中,可以选择文件夹类型、重新扫描间隔等。   单击“保存”按钮开始同步。另一台设备的Web界面上将显示一条消息。单击“添加”以接收文件。 现在这两台设备正在同步文件。在右边,你可以看到下载速率、上传速率、本地文件夹大小等。 设置反向代理 由于它监听127.0.0.1:8384,Syncthing Web界面仅对来自同一台计算机的连接可用。为了能够从远程计算机访问Syncthing Web界面,我们可以使用Nginx或Apache为Syncthing设置反向代理。 Nginx Nginx是一个非常流行的web服务器和反向代理。如果您更喜欢使用Nginx,请运行以下命令进行安装。 sudo apt安装nginx 然后创建一个服务器配置文件。 sudo nano/etc/nginx/conf.d/syncthing。形态 将以下内容添加到此文件。更换同步器。实例com与您首选的域名。您还应该为此子域添加DNS a记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 服务器{listen 80;server_name syncthing.example.com;access_log/var/log/nginx/syncthing.access.log;error_log/var/log/nginx/syncthing.error.log;location/{proxy_passhttp://127.0.0.1:8384; proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_X_Forwarded_For;proxy_set_header X-Forwarded-Proto$scheme;} 保存并关闭文件。测试Nginx配置并重新加载Nginx。 sudo nginx-t sudo systemctl reload nginx 将域名指向Debian的IP地址后,在浏览器地址栏中键入域名,就会看到Syncthing Web界面。 如果浏览器无法连接到Syncthing web界面,可能需要在防火墙中打开端口80。例如,如果使用UFW,则运行以下命令。 sudo ufw允许80/tcp 阿帕奇 Apache是众所周知的web服务器,也可以用作反向代理。如果您更喜欢Apache而不是Nginx,请使用以下软件安装: sudo apt安装apache2 启动Apache并启用自动启动。 sudo systemctl启动apache2 sudo systemctl启用apache2 要使用Apache作为反向代理,我们需要启用代理模块和头模块。 sudo a2enmod代理u http头代理u wstunnel 现在为Syncthing创建一个虚拟主机文件。 sudo nano/etc/apache2/网站可用/同步。形态 将以下行复制并粘贴到文件中。更换同步器。实例使用你的真实域名。您还应该为此子域添加DNS a记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 &lt;虚拟主机*:80&gt;服务器名同步。实例com错误文件404/404。html ProxyPass/http://127.0.0.1:8384/ProxyPassReverse/http://127.0.0.1:8384/ErrorLog${APACHE_LOG_DIR}/syncthing_错误。log CustomLog${APACHE_log_DIR}/syncthing_访问。日志合并&lt/VirtualHost&gt; 保存并关闭文件。然后启用这个虚拟主机。 sudo是一个敏感的东西。形态 重启Apache sudo systemctl重启apache2 现在,您可以通过syncthing访问Web UI。实例通用域名格式。 如果浏览器无法连接到Syncthing web界面,可能需要在防火墙中打开端口80。例如,如果使用UFW,则运行以下命令。 sudo ufw允许80/tcp 使用HTTPS保护Syncthing Web UI 为了在通过域名访问Syncthing web UI时加密HTTP流量,我们可以通过安装Let’s encrypt颁发的免费TLS证书来启用HTTPS。首先,打开防火墙中的端口443。 sudo ufw允许443/tcp 然后运行以下命令安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果您使用Nginx,那么您还需要安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--stype ocsp--email[email ;protected]-d syncthing。实例通用域名格式 如果使用Apache,请安装Certbot Apache插件。 sudo apt安装python3 certbot apache 并运行此命令以获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d syncthing。实例通用域名格式 哪里 --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 刷新Syncthing Web GUI,您会发现HTTP连接自动重定向到HTTPS安全连接。 启用用户身份验证 默认情况下,任何人都可以在设置反向代理后访问Syncthing web界面。我们可以启用用户身份验证来限制访问。单击右上角的操作按钮,然后选择设置-&gt;桂。 在GUI身份验证用户字段中输入用户名,在GUI身份验证密码字段中输入密码。然后保存你的设置。 请注意,您不需要在Use HTTPS for GUI框上打勾,这使Syncthing能够使用自签名证书。我们已经在Apache/Nginx中安装了一个受主流Web浏览器信任的有效证书。 保存更改后,请重新启动Syncthing systemd服务,否则在重新加载页面时可能会看到502坏网关错误。 sudo systemctl restart[email ;protected]用户名。服务 现在使用新用户名和密码登录Syncthing Web界面。 仅发送&amp;只接收文件夹 在Syncthing中共享文件夹时,可以转到“高级”选项卡,从三种文件夹类型中选择一种: 发送&amp;接收(默认) 只发送 只收 您可能希望选择仅发送或仅接收。例如,如果您有三台计算机:A、B和C,并且希望将计算机A和B上的文件夹聚合到计算机C上的单个文件夹中。则可以将文件夹类型设置为仅在计算机C上接收。这样,计算机C将所有文件都放在单个文件夹中。计算机A和B仍保留原始文件。不多也不少。 当您在计算机C上使用相同的文件夹路径时,Syncthing可能会警告您“此路径是现有文件夹的子目录”。您可以忽略此警告,因为您有一个只接收文件夹。不会删除文件夹中的现有文件。 通过中继服务器同步 如果两个Syncthing实例无法相互连接,则Syncthing将尝试使用中继服务器传输文件。 它们无法相互连接的一个常见原因是其中一个位于NAT设备后面,并且没有配置端口转发。配置端口转发后,可以禁用中继服务器。下面是方法。单击编辑按钮并选择高级选项卡,将地址从动态更改为tcp://ip-address:22000.当然,你需要使用你真正的IP地址。 故障排除 如果Syncthing实例无法相互连接,可以使用ss(socket stats)实用程序检查Syncthing是否正在TCP端口22000上侦听。 sudo ss-lnpt | grep syncthing 从下面的屏幕截图可以看到,我的Syncthing正在监听端口8384(web界面)和22000(对等连接)。 如果没有,您可以编辑配置文件。 纳米~/。config/syncthing/config。xml 找到下面这行。 &lt;listenAddress&gt;违约&lt/listenAddress&gt; 将默认值更改为tcp://your-IP-address. &lt;listenAddress&gt;tcp://12.34.56.78</listenAddress&gt; 保存并关闭文件。然后重启同步。 sudo systemctl restart[email ;protected]用户名。服务 错过了比赛。stfoler文件 这个Syncthing需要stfoler文件才能工作。这是一个空文件。你不需要添加任何内容。如果。同步文件夹下缺少stfolder文件,则同步将停止。您可以创建以下Cron作业来自动创建文件。 @每小时触摸/path/to/sync/folder/。stfolder 如果文件丢失,触摸命令将创建该文件。如果文件已经存在,它将更新文件时间戳。 收尾 我希望本教程能帮助您在Debian上安装和使用Syncthing。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.22 浏览:79
  • 在Debian 10 Buster上与YouPHPTube一起运行自己的视频共享网站

    本教程将向您展示如何在Debian 10 Buster上使用YouPHPTube运行自己的视频共享网站。YouPHPTube是YouTube、Vimeo等视频共享网站的开源、自托管替代方案。使用YouPHPTube,您可以将视频上传到自己的服务器,并与互联网共享。 YouPHPTube功能 无限和同步的直播流,你可以有无限的用户连接到每个直播流。 直接从互联网导入和编码其他网站的视频 从本地视频目录批量编码 制作私人视频 与Youtube完全集成的功能,允许您将视频与Youtube同步 将多种格式的多媒体文件转换为MP4、WebM和MP3文件 支持Amazone S3(简单存储服务) 响应性网站布局。YouPHPTube在任何设备上都令人难以置信。(您可以选择YouTube或Netfilx样式的布局。) 用户频道和用户播放列表 订阅你喜欢的频道 您可以使用YouPHPTube统计信息中的最新指标和报告来监控视频的性能。 使用插件扩展站点功能。 搜索引擎优化 iOS和安卓应用可用 YouPHPTube服务器要求 首先,你应该知道,对于视频共享网站来说,单核CPU是不可行的,因为编码过程会占用大量CPU资源。 然后根据站点的用户数量选择服务器规格。 如果你只想用它来分享你自己的视频,你需要一个至少有2个CPU核和4GB内存的服务器。您可以从Contabo购买功能强大的VPS(虚拟专用服务器),成本很低。 如果你希望你的站点有几十个用户,那么你可以考虑Cababo特大VPS,它有10个CPU内核,60GB RAM,1Gb/s端口速度,1.6TB磁盘空间,无限流量,但成本只有26.99欧元/月。 当你的网站增长超过这个范围时,你应该购买一台专用服务器。 在Debian 10 Buster上安装YouPHPTube的软件要求 YouPHPTube需要PHP和MySQL/MariaDB。要学习本教程,您应该已经设置了灯堆栈或LEMP堆栈。如果您更喜欢使用ApacheWeb服务器,请安装LAMP堆栈。 如何在Debian 10 Buster上安装LAMP(Apache、MariaDB、PHP)堆栈 如果您更喜欢使用Nginx web服务器,请安装LEMP stack。 如何在Debian 10 Buster上安装LEMP(Nginx、MariaDB、PHP)堆栈 注:Nginx对YouPHPTube的支持只是实验性的。如果使用Nginx,可能会出现问题。 你还需要一个域名。我在namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。 YouPHPTube由两部分组成。 主要部分是前端拖缆服务器,它允许用户观看现有视频。 另一部分是编码器,它允许用户上传视频。 公共编码器使用域名编码器。youphptube。通用域名格式。如果你不想让用户在上传视频时离开你的网站,你需要设置你的私人编码器。在本文中,我将向您展示如何进行。不用麻烦了,我们开始吧。 步骤1:在Debian 10 Buster服务器上下载YouPHPTube 通过SSH登录Debian 10 Buster服务器。然后转到web根目录。 cd/var/www/ 从Github克隆YouPHPTube拖缆存储库。 sudo apt安装git sudo git clonehttps://github.com/YouPHPTube/YouPHPTube.git 然后进入目录。 cd YouPHPTube/ 从Github克隆YouPHPTube编码器存储库。 sudo git克隆https://github.com/YouPHPTube/YouPHPTube-Encoder.git 它将另存为YouPHPTube编码器。我们将其重命名为upload,以便用户在上传视频时更好地了解此URL的用途。 sudo mv YouPHPTube编码器上传 接下来,我们需要将www数据(web服务器用户)作为web根的所有者。 sudo chown www-data:www-data/var/www/YouPHPTube/-R 第2步:安装依赖项 YouPHPTube使用FFmpeg对视频进行编码。我们可以从默认的Debian存储库轻松安装FFmpeg。 sudo apt安装ffmpeg 要在多媒体文件中读写元信息,我们需要安装libimage exiftool perl包。 sudo apt安装libimage exiftool perl 您还需要安装一些常见的PHP扩展。 sudo apt安装php7。3-cli php7。3-常见php7。3-json php7。3-opcache php7。3-readline php7。3-卷曲php7。3-gd php7。3-xml 要从其他网站获取视频,我们需要安装YouTube DL。虽然它包含在Debian存储库中,但已经过时了。我们将从Python包索引安装YouTube DL,该索引始终包含最新版本的YouTube DL。 sudo apt install python3 pip sudo-H pip3 install youtube dl 使用最新版本非常重要,否则可能无法从其他网站下载视频。我们可以创建一个Cron作业来自动检查并安装最新版本。 sudo crontab-e 在Crontab文件的末尾添加以下行,尝试每天升级YouTube DL。 @每日sudo-H pip3安装——升级youtube dl&gt/dev/null 第3步:在MariaDB中创建数据库和用户 使用以下命令登录MariaDB数据库服务器。由于MariaDB现在使用unix_socket插件来验证用户登录,因此无需输入MariaDB根密码。我们只需要在mysql命令前面加上sudo。 sudo mysql 然后为YouPHPTube创建一个数据库。本教程将数据库命名为YouPHPTube。你可以用任何你喜欢的名字。 创建数据库YouPHPTube; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 创建用户youphptube@localhost由“您的密码”标识; 授予此用户在youphptube数据库上的所有权限。 授予YouPHPTube上的所有特权。*到youphptube@localhost; 我们还需要为编码器创建一个单独的数据库。 创建数据库YouPHPTubeEncoder; 为此数据库创建一个用户。 创建用户encoder@localhost由“您的密码”标识; 授予特权。 授予YouPHPTubeEncoder的所有特权。*到encoder@localhost; 刷新特权表并退出。 同花顺特权;出口 第4步:设置Web服务器 我们可以使用Apache或Nginx web服务器。 阿帕奇 如果您喜欢Apache,可以使用命令行文本编辑器(如Nano)为YouPHPTube创建一个虚拟主机文件。 sudo nano/etc/apache2/sites available/youphptube。形态 将以下文本放入文件中。用实际数据替换红色文本。我在本教程中使用了一个子域。如果你愿意,你可以使用你的主域名。不要忘记在DNS记录管理器中为域名设置DNS记录。还要注意,文档根目录区分大小写,不应在末尾添加正斜杠。 &lt;虚拟主机*:80&gt;服务器名管。你的地盘。com DocumentRoot/var/www/YouPHPTube&lt;目录/var/www/YouPHPTube&gt;目录索引。php选项+FollowSymLinks AllowOverride All需要全部授予&lt/目录&gt;ErrorLog${APACHE_LOG_DIR}/youphptube。错误log CustomLog${APACHE_log_DIR}/youphptube。通道日志合并&lt/VirtualHost&gt; 保存并关闭文件。然后启用这个虚拟主机。 sudo a2ensite youphptube。形态 我们需要启用重写模块。 sudo a2enmod重写 重新启动Apache以使更改生效。 sudo systemctl重启apache2 现在参观地铁。你的地盘。com,您将被重定向到安装向导页面(tube.yourdomain.com/install/index.php)。如果看到的是默认的Apache页面而不是安装向导,则需要禁用默认的虚拟主机。 sudo A2000默认值。形态 然后重启Apache。 在安装向导中输入任何信息之前,我们需要启用HTTPS。 Nginx 如果您更喜欢Nginx,请创建一个youphptube。conf文件位于/etc/nginx/conf.d/目录中。 sudo nano/etc/nginx/conf.d/youphptube。形态 将以下文本放入文件中。用实际数据替换红色文本。我在本教程中使用了一个子域。如果你愿意,你可以使用你的主域名。不要忘记在DNS记录管理器中为域名设置DNS记录。还要注意,文档根目录区分大小写。 服务器{listen 80;server_name tube.yourdomain.com;root/var/www/YouPHPTube;index index.php index.html index.htm;charset utf-8;客户端_max_body_size 2G;access_log/var/log/nginx/YouPHPTube.access.log;error_log/var/log/nginx/YouPHPTube.error.log;location~/.php${fastcgi_分割路径_info^(+/.php)(/)$; fastcgi_pass unix:/run/php/php7。3-fpm。短袜fastcgi_索引。php;包括fastcgi_参数;fastcgi_参数脚本_文件名$document_root$fastcgi_脚本_name;}#在中翻译Apache重写规则。htaccess文件到Nginx重写规则位置/{rewrite^/$/view/last;}位置/引导{rewrite^/bootstrap/(.+)$/view/bootstrap/$1 last;}location/js{rewrite^/js/(.+)$/view/js/$1 last;}位置/css{rewrite^/css/(.+)$/view/css/$1 last;}位置/img{rewrite^/img/(.+)$/view/img/$1 last;}位置/页面{rewrite^/page/([0-9]+)/?$/view/?page=$1 last;}位置/videoOnly{rewrite^/videoOnly/?$/view/?type=video last;}位置/audioOnly{rewrite^/audioOnly/?$/view/?type=audio last;}location=/download{rewrite^(.*)$/view/downloadExternalVideo.php last;}location=/downloadNow{rewrite^(.*)$/objects/downloadVideo.php last;}location=/getDownloadProgress{rewrite^(.*)$/objects/downloadVideoProgress.php last;}location=/about{rewrite^(.*)$/view/about.php last;}location=/contact{rewrite^(.*)$/view/contact.php last;}location=/sendmail{rewrite^(.*)$/objects/sendmail.json.php last;}location=/captcha{rewrite^(.*)$/objects/getCaptcha.php last;}位置/监视器{rewrite^/monitor/(.+)$/objects/ServerMonitor/$1 last;}位置/cat{rewrite^/cat/([A-Za-z0-9-]+)/?$/view/?catName=$1 last;}位置/视频{rewrite^/video/([A-Za-z0-9-.]+)/?$/查看/?videoName=$1 last;}位置/视频嵌入{rewrite^/videoembedded/([A-Za-z0-9-.]+)/?$/查看/视频嵌入。php?videoName=$1 last;}location=/upload{rewrite^(.*)$/view/mini upload form/last;}location=/fileUpload{rewrite^(.*)$/view/mini upload form/upload.php last;}location/uploadStatus{rewrite^/uploadStatus/view/mini upload form/videoConversionStatus.php last;}location=/user{rewrite^(.*)$/view/user.php last;}location=/users{rewrite^(.*)$/view/managerUsers.php last;}位置=/用户。json{rewrite^(.*)$/objects/users.json.php last;}location=/updateUser{rewrite^(.*)$/objects/userUpdate.json.php last;}location=/savePhoto{rewrite^(.*)$/objects/userSavePhoto.php last;}location=/addNewUser{rewrite^(.*)$/objects/userAddNew.json.php last;}location=/deleteUser{rewrite^(.*)$/objects/userDelete.json.php last;}location=/recoverPass{rewrite^(.*)$/objects/userRecoverPass.php last;}location=/saveRecoverPassword{rewrite^(.*)$/objects/userRecoverPassSave.json.php last;}location=/signUp{rewrite^(.*)$/view/signUp.php last;}location=/createUser{rewrite^(.*)$/objects/userCreate.json.php last;}location=/usersGroups{rewrite^(.*)$/view/managerUsersGroups.php last;}location=/usersGroups。json{rewrite^(.*)$/objects/usersGroups.json.php last;}location=/addNewUserGroups{rewrite^(.*)$/objects/userGroupsAddNew.json.php last;}location=/deleteUserGroups{rewrite^(.*)$/objects/userGroupsDelete.json.php last;}location=/ads{rewrite^(.*)$/view/managerAds.php last;}location=/addNewAd{rewrite^(.*)$/objects/video_adsAddNew.json.php last;}location=/ads.json{rewrite^(.*)$/objects/video_ads.json.php last;}location=/deleteVideoAd{rewrite^(.*)$/objects/video_adDelete.json.php last;}location/adClickLo{rewrite^/adClickLog/objects/video_adClickLog.php last;}location=/categories{rewrite^(.*)$/view/managerCategories.php last;}位置=/类别。json{rewrite^(.*)$/objects/categories.json.php last;}location=/addNewCategory{rewrite^(.*)$/objects/categoryAddNew.json.php last;}location=/deleteCategory{rewrite^(.*)$/objects/categoryDelete.json.php last;}location=/orphanFiles{rewrite^(.*)$/view/orphanFiles.php last;}location=/mvideos{rewrite^(.*)$/view/managerVideos.php last;}地点=/视频。json{rewrite^(.*)$/objects/videos.json.php last;}location=/deleteVideo{rewrite^(.*)$/objects/videoDelete.json.php last;}location=/addNewVideo{rewrite^(.*)$/objects/videoAddNew.json.php last;}location=/refreshVideo{rewrite^(.*)$/objects/videoRefresh.json.php last;}location=/setStatusVideo{rewrite^(.*)$/objects/videoStatus.json.php last;}location=/reencodeVideo{rewrite^(.*)$/objects/videoReencode.json.php last;}location=/addViewCountVideo{rewrite^(.*)$/objects/videoAddViewCount.json.php last;}location=/saveComment{rewrite^(.*)$/objects/commentAddNew.json.php last;}location/comments{rewrite^/comments.json/([0-9]+)$/objects/comments.json.php?video_id=$1 last;}location=/login{rewrite^(.*)$/objects/login.json.php last;}location=/logoff{rewrite^(.*)$/objects/logoff.php last;}location=/like{rewrite^(.*)$/objects/like.json.php?like=1 last;}location=/loke{rewrite^(.*)$/objects/like.json.php?like=-1 last;}位置/更新{rewrite^/update/?$/update/update.php last;}location=/siteConfigurations{rewrite^(.*)$/view/configurations.php last;}location=/updateConfig{rewrite^(.*)$/objects/configurationUpdate.json.php last;}location=/charts{rewrite^(.*)$/view/charts.php last;}位置=/upload/index。php{rewrite^(.*)$/upload/view/index.php last;}location=/upload/isAdmin{rewrite^(.*)$/upload/view/isAdmin.php last;}location=/upload/removeStreamer{rewrite^(.*)$/upload/view/removeStreamer.php last;}location=/upload/priority{rewrite^(.*)$/upload/view/priority.php last;}location=/upload/status{rewrite^(.*)$/upload/view/status.php last;}location=/upload/serverStatus{rewrite^(.*)$/upload/view/status.php?serverStatus=1 last;}location=/upload/upload{rewrite^(.*)$/upload/view/upload.php last;}位置=/upload/listFiles。json{rewrite^(.*)$/upload/view/listFiles.json.php last;}location=/upload/deleteQueue{rewrite^(.*)$/upload/view/deleteQueue.php last;}location=/upload/saveConfig{rewrite^(.*)$/upload/view/saveConfig.php last;}位置=/upload/youtubeDl。json{rewrite^(.*)$/upload/view/youtubeDl.json.php last;}位置=/upload/send。json{rewrite^(.*)$/upload/view/send.json.php last;}位置=/上传/拖缆。json{rewrite^(.*)$/upload/view/streamers.json.php last;}位置=/upload/queue。json{rewrite^(.*)$/upload/view/queue.json.php last;}location=/upload/queue{rewrite^(.*)$/upload/view/queue.php last;}location=/upload/login{rewrite^(.*)$/upload/objects/login.json.php last;}location=/upload/logoff{rewrite^(.*)$/upload/objects/logoff.json.php last;}位置/上传/{rewrite“^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$”/upload/objects/getImage。php?base64Url=$1&amp;格式=上次2美元;重写“^/getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})/([0-9.]+)$”/上传/objects/getImageMP4。php?base64Url=$1&amp;格式=$2&amp;时间=上次3美元;}location/upload/getSpiritsFromVideo{rewrite^/getSpiritsFromVideo/([A-Za-z0-9=/])/([0-9]+)/([0-9]+)$/upload/objects/getSpiritsFromVideo.php?base64Url=$1&amp;tileWidth=$2&amp;totalClips=$3 last;}location/upload/getLinkInfo{rewrite^/getLinkInfo/([A-Za-z0-9=/]+)$/upload/objects/getLinkInfo.json.php?base64Url=$1 last;} 保存并关闭文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 现在参观地铁。你的地盘。com,您将被重定向到安装向导页面(tube.yourdomain.com/install/index.php)。在安装向导中输入任何信息之前,我们需要启用HTTPS。 步骤5:启用HTTPS 为了加密HTTP流量,我们可以通过安装Let's encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Debian 10 Buster服务器上安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果使用Apache,还需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 并运行此命令以获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d tube。你的地盘。通用域名格式 如果使用Nginx,请安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--stype ocsp--email[email ;protected]-d tube。你的地盘。通用域名格式 哪里 --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 第6步:使用安装向导完成安装 现在去看电视。你的地盘。com和安装向导将出现。在左侧,您可以看到服务器是否满足要求。 如果使用Nginx,可以忽略以下消息。 您的服务器是nginx/1.14.2,必须安装Apache。 如您所见,PHP post_max_大小应至少为100M,upload_max_文件大小应至少为100M。我们需要编辑php。ini文件来更改这两个值。如果使用ApacheWeb服务器,那么 sudo nano/etc/php/7.3/apache2/php。伊尼 如果将Nginx与PHP-FPM一起使用,则需要编辑PHP的FPM版本。ini文件。 sudo nano/etc/php/7.3/fpm/php。伊尼 找到下面两行。 post_max_size=8M上传_max_filesize=2M 根据要上传的视频文件大小更改值。例如,如果允许上传1G视频文件,则 post_max_size=1024M上传_max_filesize=1024M 保存并关闭文件。重新启动Apache以使更改生效。 sudo systemctl重启apache2 如果将Nginx与PHP-FPM一起使用,则重新启动PHP-FPM。 sudo systemctl重新启动php7。3-fpm 现在刷新YouPHPTube安装向导页面。你的服务器应该通过所有要求。现在在右边,你可以输入你的视频网站的标题。输入之前创建的YouPHPTube数据库名称、用户和密码。(注意:应该使用主数据库,而不是编码器数据库。还要注意区分大小写。)并设置系统管理员密码。 &nbsp; 单击立即安装按钮,YouPHPTube应该安装成功。 现在我们需要删除/var/www/YouPHPTube/install/目录。 sudo rm/var/www/YouPHPTube/install/-r 单击转到主页按钮,您将看到YouPHPTube主页。 您可以单击左侧的下拉菜单,以管理员用户身份登录,并使用刚才设置的密码。 第7步:设置编码器 去https://tube.yourdomain.com/upload/.您将被重定向到编码器设置向导。如果没有自动重定向,则可以手动输入安装向导URL。 https://tube.yourdomain.com/upload/install/index.php/ 左侧将显示服务器是否满足YouPHPTube编码器的要求。 如果使用Nginx,可以忽略以下消息。 您的服务器是nginx/1.14.2,必须安装Apache。 如您所见,PHP最大执行时间应至少为7200,PHP内存限制应至少为512M。我们需要编辑php。ini文件来更改这两个值。如果使用ApacheWeb服务器,那么 sudo nano/etc/php/7.3/apache2/php。伊尼 如果将Nginx与PHP-FPM一起使用,则需要编辑PHP的FPM版本。ini文件。 sudo nano/etc/php/7.3/fpm/php。伊尼 找到下面两行。 最大执行时间=30内存限制=128M 更改值。 最大执行时间=7200内存限制=512M 请注意,如果稍后的视频编码中途停止,则需要增加最大执行时间,或升级CPU。 保存并关闭文件。重新启动Apache以使更改生效。 sudo systemctl重启apache2 如果将Nginx与PHP-FPM一起使用,则重新启动PHP-FPM。 sudo systemctl重启php7。3-fpm 现在刷新YouPHPTube编码器安装向导页面。你的服务器应该通过所有要求。现在,在右侧,您需要输入之前创建的YouPHPTubeEncoder数据库名称、用户和密码。注意区分大小写,并输入拖缆站点的管理员密码。 &nbsp; 单击立即安装按钮,将安装YouPHPTube编码器。 删除安装目录。 sudo rm/var/www/YouPHPTube/upload/install/-r 然后转到主页。 第8步:更改编码器URL 默认情况下,YouPHPTube使用公共编码器上传视频。要使用自己的编码器,请在YouPHPTube(而不是YouPHPTube encoder)中以管理员身份登录,然后从左侧管理面板转到管理面板。 转到设置-&gt;网站设置-&gt;高级配置。将编码器URL更改为https://tube.yourdomain.com/upload/.保存设置,清除缓存目录并生成新的站点地图。 现在退出并重新登录。如果你点击右上角的“视频和音频编码”按钮,你将被带到自己的编码器上传视频。需要注意的是,编码速度取决于服务器的CPU能力。 第9步:配置SMTP 要发送电子邮件(如帐户注册、密码重置等),需要配置SMTP服务器。如果您想使用自己的邮件服务器向客户发送电子邮件,请查看以下文章以设置自己的邮件服务器。 如何使用Modoboa在Debian 9上快速设置电子邮件服务器 如果你想使用SMTP中继服务,我推荐Mailjet。您可以按照下面的教程在YouPHPTube服务器上设置SMTP中继。 如何使用Mailjet在Debian上设置Postfix SMTP中继 启用TCP BBR 对于视频流服务器,建议按照本文中的说明在Linux内核中启用TCP BBR拥塞控制算法。(它是为Ubuntu编写的,但也适用于Debian 10 Buster。) 如何通过启用TCP BBR轻松提升Ubuntu 16.04/18.04网络性能 移动应用 你可以在谷歌Play Store或苹果商店的YPT Mobile上搜索YouPHPTube,下载免费的android应用程序或iOS应用程序。白标移动应用需要付费许可证。 故障排除 如果YouPHPTube主页未能加载一些CSS和JavaScript资源, 很可能您在Apache或Nginx虚拟主机文件中为web根目录添加了额外的正斜杠。而不是使用 DocumentRoot/var/www/YouPHPTube/ 你应该使用 DocumentRoot/var/www/YouPHPTube 如果编码器工作不正常,可以在/var/www/YouPHPTube/upload/videos/YouPHPTube上查看日志文件。日志 其他花絮 编码视频时,可以选择分辨率(低分辨率、SD分辨率、HD分辨率)。如果您将YouPHPTube用作个人视频流网站,我建议您选择高清分辨率,这样可以减少编码时间并节省磁盘空间。如果已经将视频编码为所有3种分辨率,则可以转到YouPHPTube视频目录(/var/www/YouPHPTube/videos),删除低分辨率和SD分辨率的视频。 cd/var/www/YouPHPTube/videos/sudo rm*Low。mp4 sudo rm*SD。mp4 如何从视频网站下载所有视频 您可以使用youtube dl命令行实用程序下载所有视频。首先,你需要进入YouPHPTube仪表板,然后进入视频列表页面并向下滚动到底部,单击下载你的视频列表(permalink.txt文件)按钮。您将看到所有视频的URL列表。 接下来,打开一个终端,用文本编辑器创建一个txt文件,从网页复制URL并粘贴到文件中。然后可以运行以下命令下载视频。替换视频列表。使用您自己的文件名。 youtube dl-视频列表。txt 收尾 我希望本教程能帮助您在Debian 10 Buster服务器上安装YouPHPTube。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.22 浏览:76
  • 在Debian 10 Buster上设置Apache Guacamole远程桌面

    本教程将向您展示如何在Debian 10服务器上设置鳄梨酱远程桌面。GuaCAMOLE是由Apache软件基金会开发的一个免费的开源远程桌面网关。 鳄梨酱特色 它允许您从web浏览器访问远程桌面。不需要在客户端安装其他软件。 支持VNC、RDP、SSH和Kubernetes等标准协议。 VNC会话可以以图形方式记录。 使用CAS、OpenID Connect或SAML 2.0进行单点登录 唤醒局域网 轻松管理多个远程桌面会话。 支持TOTP双因素身份验证。 支持剪贴板(复制和粘贴)和通过SFTP传输文件。 支持音频输入和输出 还有更多。 鳄梨酱本身不是远程桌面协议。它是远程桌面和客户端之间的代理,因此可以在web浏览器中显示和控制远程桌面。 步骤1:从源代码构建鳄梨酱服务器 登录Debian 10服务器并安装依赖软件包。 sudo apt安装build essential libcairo2 dev libjpeg62 turbo dev libpng dev libtool bin libossp uuid dev libvncserver dev freerdp2 dev libssh2-1-dev libtelnet dev libwebsockets dev libpulse dev libvorbis dev libwebp dev libssl dev libpango1。0-dev libswscale dev libavcodec dev libavutil dev libavformat dev 下载最新稳定版本的鳄梨酱服务器。 wgethttp://mirror.cc.columbia.edu/pub/software/apache/guacamole/1.2.0/source/guacamole-server-1.2.0.tar.gz 提取档案。 tar-xvf鳄梨酱-server-1.2.0。焦油广州 切换到提取的目录。 cd鳄梨酱-server-1.2.0 配置构建环境。 ./configure--with init dir=/etc/init。D 然后编译鳄梨酱服务器。 sudo make 安装鳄梨酱服务器。 sudo make安装 更新已安装库的系统缓存。 sudo ldconfig 重新加载systemd,这样就可以找到安装在/etc/init中的Guacamole代理守护进程(Guacamole proxy daemon)服务。d/目录。 sudo systemctl后台程序重新加载 开始吃鳄梨酱。 sudo systemctl启动guacd 启动时启用自动启动。 sudo systemctl enable guacd 检查它的状态。 系统控制状态表 如你所见,它处于活动状态(正在运行)。 Guacd在127.0.0.1:4822上监听,如ss实用程序所示。 sudo ss-lnpt | grep guacd 第2步:安装鳄梨酱Web应用程序 鳄梨酱web应用程序是用Java编写的,所以我们需要安装一个Java Servlet容器,比如ApacheTomcat。 sudo apt安装tomcat9 tomcat9 admin tomcat9 common tomcat9 user Apache Tomcat将在端口8080上监听,如下所示: sudo ss-lnpt | grep java 如果有其他软件监听端口8080,那么Tomcat无法绑定到端口8080。您应该将另一个进程配置为使用不同的端口,然后重新启动Tomcat(sudo systemctl restart tomcat9)。 接下来,下载鳄梨酱web应用程序。 wgethttps://downloads.apache.org/guacamole/1.2.0/binary/guacamole-1.2.0.war 将文件移动到web应用程序目录(/var/lib/tomcat9/webapps),同时重命名文件(删除版本号)。 sudo mv鳄梨酱-1.2.0。war/var/lib/tomcat9/webapps/guacamole。战争 重启Tomcat和guacd。 sudo systemctl重启tomcat9 guacd 第3步:配置鳄梨酱 为鳄梨酱创建一个配置目录。 sudo mkdir/etc/鳄梨酱/ 创建一个配置文件。 sudo nano/etc/鳄梨酱/鳄梨酱。属性 在此文件中添加以下行。有些人可能会说不需要添加这些行,因为它们是默认值。我向您展示了一个基本配置,以便您可以在需要时对其进行自定义。 #guacamole代理的主机名和端口guacd主机名:localhost guacd端口:4822#身份验证提供程序类(验证用户/密码组合,如果使用提供的登录屏幕,则需要)身份验证提供程序:net。sourceforge。鳄梨酱。网基本的BasicFileAuthenticationProvider基本用户映射:/etc/guacamole/user mapping。xml 保存并关闭文件。Guacamole中的默认身份验证模块从XML文件:/etc/Guacamole/user mapping中读取用户名和密码。xml。在创建此文件之前,我们需要使用以下命令为您的密码生成MD5哈希。将_密码替换为首选密码。 echo-n您的|密码| openssl md5 样本输出: (标准数据)=1060b7b46a3bd36b3a0d66e0127d0517 接下来,创建用户映射XML文件。 sudo nano/etc/guacamole/user mapping。xml 添加以下行。这里我们指定后端将使用VNC(虚拟网络计算)协议。替换用户名和密码哈希。稍后我们将创建一个VNC密码。 &lt;用户映射&gt&lt;!——每用户身份验证和配置信息--&gt&书信电报;授权用户名=“您的首选用户名”密码=“1060b7b46a3bd36b3a0d66e0127d051”编码=“md5”&gt&书信电报;连接名称=“默认值”&gt&书信电报;协议&gt;vnc&lt/协议&gt&书信电报;param name=“hostname”&gt;localhost&lt/param&gt&书信电报;param name=“port”&gt;5901&lt/param&gt&书信电报;param name=“password”&gt;vnc_密码&lt/param&gt&lt/连接&gt&lt/授权&gt&lt/用户映射&gt; 保存并关闭文件。重启Tomcat和guacd。 sudo systemctl重启tomcat9 guacd 第4步:在Debian 10服务器上安装桌面环境 因为我们要设置一个远程桌面,所以我们需要一个桌面环境。在安装桌面环境之前,确保服务器有足够的RAM。有许多桌面环境。我发现轻量级XFCE桌面环境在VNC中运行良好,所以使用以下命令安装它。 sudo apt更新sudo apt安装xfce4 xfce4 goodies 在安装过程中,可能会要求您选择默认的显示管理器。这个选择无关紧要,因为在VNC会话中,您不会看到登录屏幕。 由于服务器上运行的是桌面环境,因此强烈建议您使用UFW之类的防火墙来限制访问,并仅向公众打开必要的端口。您可以阅读以下教程,了解如何在Debian上启用和使用UFW。 如何在Debian、Ubuntu、Linux Mint上使用UFW防火墙 步骤5:在Debian 10服务器上安装VNC服务器 Linux用户可以使用几种VNC服务器软件。我们将使用TigerVNC服务器,因为它最适合鳄梨酱。 sudo apt安装tigervnc独立服务器 运行以下命令以启动VNC服务器。 vncserver 当TigerVNC首次启动时,它会要求您设置VNC密码。请注意,密码不应超过8个字符。然后,您可以选择是否需要仅查看密码。 现在,您应该编辑/etc/guacamole/user映射。xml文件并更改VNC密码。然后重启Tomcat和Guad。 sudo systemctl重启tomcat9 guacd tigervnc独立服务器包附带一个文件/etc/X11/Xvnc会话,该会话告诉tigervnc在启动X服务器时启动X服务器。 TigerVNC服务器不附带任何systemd服务单元。为了在启动时启动,我们需要创建一个systemd服务单元。 sudo nano/etc/systemd/system/[电子邮件和#160;受保护] 在文件中添加以下行。用真实用户名替换用户名。 [Unit]Description=在=syslog之后为VNC启动X服务器的包装器。目标网络。target[Service]Type=forking User=username Group=username WorkingDirectory=/home/username ExecStartPre=-/usr/bin/vncserver-kill:%i&gt/开发/空2&gt&amp;1 ExecStart=/usr/bin/vncserver-depth 24-geometry 1280x800-localhost:%i ExecStop=/usr/bin/vncserver-kill:%i[Install]WantedBy=multi-user。目标 保存并关闭文件。停止当前的VNC服务器实例。 vncserver-kill:1 用systemd启动VNC服务器。 sudo systemctl start[电子邮件和#160;受保护] 启动时启用自动启动。 sudo systemctl启用[电子邮件和#160;受保护] 检查其状态: systemctl状态[电子邮件和#160;受保护] 如你所见,它处于活动状态(正在运行)。 现在TigerVNC服务器监听端口5901。 sudo ss-lnpt | grep vnc 步骤6:为鳄梨酱Web应用程序设置反向代理 Apache Tomcat正在监听端口8080。为了方便地访问Guacamole web应用程序,我们可以使用Apache或Nginx设置反向代理,以便最终用户能够使用域名访问web应用程序。它还允许我们轻松安装TLS证书来加密连接。 阿帕奇 如果您更喜欢使用Apache,那么从默认的Debian软件存储库安装Apache。 sudo apt安装apache2 要使用Apache作为反向代理,我们需要启用代理模块和头模块。 sudo a2enmod代理u http头代理u wstunnel 然后为鳄梨酱创建一个虚拟主机文件。 sudo nano/etc/apache2/网站可用/鳄梨酱。形态 在文件中添加以下行。更换鳄梨酱。实例使用你自己的域名。记住在DNS管理器中为子域创建A记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 &lt;虚拟主机*:80&gt;ServerName鳄梨酱。实例com ErrorLog${APACHE_LOG_DIR}/guacamole_error。log CustomLog${APACHE_log_DIR}/guacamole_访问。日志合并&lt;地点/&gt;要求所有授予的ProxyPasshttp://localhost:8080/guacamole/flushpackets=在ProxyPassReverse上http://localhost:8080/guacamole/&lt/地点&gt&书信电报;位置/websocket隧道&gt;需要所有授予的代理权限ws://localhost:8080/guacamole/websocket tunnel代理权限ws://localhost:8080/guacamole/websocket tunnel&lt/地点&gt;标题始终未设置X帧选项&lt/VirtualHost&gt; 保存并关闭文件。测试语法。 sudo apachectl-t 如果Syntx正常,则启用此虚拟主机。 sudo a2ensite鳄梨酱。形态 重启Apache sudo systemctl重启apache2 现在,您可以通过鳄梨酱访问Apache鳄梨酱登录页面。实例通用域名格式。如果看到“无效请求”或类似的错误消息,则可能意味着Apache Tomcat无法绑定到端口8080,因为该端口已被服务器上的另一个进程占用。您应该将另一个进程配置为使用不同的端口,然后重新启动Tomcat。 Nginx 如果您更喜欢使用Nginx,那么从默认的Debian软件存储库安装Nginx。 sudo apt安装nginx 为鳄梨酱创建服务器块文件。 sudo nano/etc/nginx/conf.d/guacamole。形态 在文件中添加以下行。更换鳄梨酱。实例使用你自己的域名。记住在DNS管理器中为子域创建A记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 服务器{listen 80;listen[:]:80;服务器名guacamole.example.com;access_log/var/log/nginx/guac_access.log;error_log/var/log/nginx/guac_error.log;location/{proxy_passhttp://127.0.0.1:8080/guacamole/; 缓冲;proxy_http_版本1.1;proxy_set_header X-Forwarded-For$proxy_add_X_Forwarded_For;代理设置头升级$httpU升级;代理设置头连接$httpU连接;代理_cookie_path/guacamole/;} 保存并关闭此文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 现在,您可以通过鳄梨酱访问Apache鳄梨酱登录页面。实例通用域名格式。如果看到“无效请求”或类似的错误消息,则可能意味着Apache Tomcat无法绑定到端口8080,因为该端口已被服务器上的另一个进程占用。您应该将另一个进程配置为使用不同的端口,然后重新启动Tomcat。 启用HTTPS 为了在访问鳄梨酱web界面时加密HTTP流量,我们可以通过安装Let's encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Debian 10上安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果使用Apache,则需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d鳄梨酱。实例通用域名格式 如果您使用Nginx,那么您还需要安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--stapple ocsp--email[email ;protected]-d鳄梨酱。实例通用域名格式 哪里: --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 您可以通过HTTPS访问鳄梨酱web界面。(https://guacamole.example.com). 登录后,您将能够使用远程桌面。 收尾 我希望本教程能帮助您在Debian 10服务器上设置Apache Guacamole远程桌面。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.22 浏览:93
  • 如何在Debian 10 Buster上安装Jellyfin媒体服务器

    本教程将向您展示如何在Debian 10服务器/桌面上安装Jellyfin media server。Jellyfin是一款免费的开源应用程序,允许您在一个漂亮的界面中组织电影、电视节目、音乐和照片,并在网络或互联网上将这些媒体文件传输到PC、平板电脑、手机、电视、Roku等设备上。Jellyfin可以安装在Linux、MacOS和Windows上。 水母特征 Jellyfin是Emby媒体服务器的分支。它包含许多与Plex和Emby相同的功能。 与Plex或Emby不同,Jellyfin是100%免费和开源的。没有广告,移动应用没有播放限制。(尽管iOS应用程序不能在后台播放视频。) 观看电视直播并设置自动录音,以扩展您的库。 自动从DVDB、MovieDB、OpenMovie数据库和烂番茄中获取艺术品、元数据。 支持DLNA。 可以安装可选插件以提供附加功能。 支持使用FFMpeg对视频编码/解码进行硬件加速。 还有更多。 在Debian 10上安装Jellyfin媒体服务器 Jellyfin不包括在默认的Debian存储库中,但它有自己的存储库。运行以下命令将Jellyfin存储库添加到Debian 10系统。 echo“deb[arch=$(dpkg——打印架构)] main“| sudo tee/etc/apt/sources.list.d/jellyfin.list 接下来,运行以下命令将Jeffyfin GPG密钥导入Debian系统,以便APT可以在安装期间验证包的完整性。 wget-O-https://repo.jellyfin.org/jellyfin_team.gpg.key| sudo apt按键添加- 由于该存储库使用HTTPS连接,我们还需要安装apt传输HTTPS和ca证书包。 sudo apt安装apt传输https ca证书 最后,在Debian系统上更新包索引并安装Jellyfin。 sudo apt更新sudo apt安装jellyfin 此命令还将安装3个其他软件包作为依赖项: jellyfin ffmpeg:用于视频转码。 jellyfin服务器:后端服务器。 jellyfin web:前端web界面。 现在安装了Jellyfin media server,我们可以通过以下方式检查其状态: 系统控制状态 正如你所见,它正在我的Debian 10系统上运行。(按q键恢复对终端的控制。) 如果Jellyfin媒体服务器未运行,可以通过以下方式启动: sudo systemctl启动果冻 Jellyfin媒体服务器初始设置 基于网络的管理界面可在8096端口获得。您可以通过以下URL访问Jellyfin web界面。 如果在远程Debian服务器上安装了Jellyfin,则需要使用Nginx或Apache设置反向代理才能访问web UI,本教程稍后将对此进行解释。 第一步是选择你喜欢的语言。 在下一个屏幕上,创建一个用户帐户。 现在可以添加库了。单击添加媒体库按钮。 选择内容类型(电影、音乐、电视节目等)和显示名称。 然后单击加号(+)按钮选择内容文件夹。 请注意,jellyfin用户需要对您的媒体目录具有读取和执行权限。例如,我的2T外部硬盘安装在root所有的/media/linuxbabe/下。不在root组中的用户无法访问它,所以我运行以下命令来授予用户jellyfin读取和执行权限。(我不建议使用chown或chgrp命令更改所有权。使用setfacl命令就足够了。) sudo setfacl-MU:jellyfin:rx/media/linuxbabe/ 您可能还需要分配对各个媒体目录的权限,如下所示。 sudo setfacl-mu:jellyfin:rx/media/linuxbabe/目录名 添加递归标志(-R)很有诱惑力,该标志赋予jellyfin对驱动器上每个文件和子目录的读取和执行权限。 sudo setfacl-R-mu:jellyfin:rx/media/linuxbabe/ 如果您的外部硬盘仅用于存储媒体文件,那么您可以这样做,但如果您的外部硬盘上有敏感文件,请不要这样做。 添加完媒体文件夹后,可以配置库设置。选择你的语言、国家等。 点击Ok和Next按钮。以后可以添加更多库。下一步允许您选择是否启用远程访问。我不建议启用本机远程访问方法,因为它不提供HTTPS加密,所以请取消选中这两个复选框。如果您需要远程访问,请阅读本文后面的如何设置反向代理。 单击下一步并完成按钮。最后,登录你的Jellyfin帐户。 重做初始设置 如果在初始设置中出错,可以重新开始。首先,编辑Jellyfin配置文件。 sudo nano/etc/jellyfin/system。xml 改变 &lt;IsStartupWizardCompleted&gt;真的&lt/IsStartupWizardCompleted&gt; 到 &lt;IsStartupWizardCompleted&gt;假&lt/IsStartupWizardCompleted&gt; 保存并关闭文件。然后重启果冻。 sudo systemctl重启果冻 现在访问localhost:8096/web,您将再次看到安装向导。 在哪里下载电影和电视节目 使用像Florge这样的洪流客户端。 了解如何从Usenet下载。 Usenet的优势 因为其他人看不到你下载的内容,所以它给了你更好的隐私。 超高速下载速度。 文件的保存时间通常比torrent文件长得多。例如,Newsdemon将文件存储4430天(超过12年),因此您可以以非常快的速度下载旧内容。 设置反向代理 因为它监听127.0.0.1:8096,所以Jellyfin Web界面只对来自同一台计算机的连接可用。为了能够从远程计算机访问Jellyfin Web界面,我们可以使用Nginx或Apache为Jellyfin设置反向代理。 Nginx Nginx是一个非常流行的web服务器和反向代理。如果您更喜欢使用Nginx,请运行以下命令进行安装。 sudo apt安装nginx 然后为Jellyfin创建一个服务器块文件。 sudo nano/etc/nginx/conf.d/jellyfin。形态 将以下内容添加到此文件。更换鱼翅。实例使用你自己的域名。您还应该为此子域添加DNS a记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 服务器{listen 80;listen[:]:80;服务器名jellyfin.example.com;访问日志/var/log/nginx/jellyfin.access;错误日志/var/log/nginx/jellyfin.error;设置$jellyfin 127.0.0.1;位置/{proxyu passhttp://127.0.0.1:8096; 代理设置头主机$Host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_X_Forwarded_For;proxy_set_header X-Forwarded-Proto$方案;代理集头X转发协议$方案;proxy_set_header X-Forwarded-Host$http_Host;#当nginx代理在流媒体代理缓冲关闭时资源非常紧张时,禁用缓冲;}#/web的位置块-这纯粹是为了美观,所以/web/#!/可以工作,而不必转到/web/index。html/#!/地点~^/web/${#Proxy main Jellyfin traffic Proxy_pass http://$Jellyfin:8096/web/index.html/;Proxy_set_header Host$Host;Proxy_header X-Real-IP$remote_addr;Proxy_set_header X-Forwarded$Proxy_add_X_-Forwarded$Proto;Proxy_set_header X-Forwarded$scheme;Proxy_set_header X-Forwarded$Protocol$schemer X-Forwarded-Host$http_Host;}位置/套接字{#代理Jellyfin Websockets流量代理pass http://$127.0.0.1:8096;代理http version 1.1;代理set header Upgrade$http Upgrade;代理set header Connection“Upgrade”; 代理设置头主机$Host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_X_Forwarded_For;proxy_set_header X-Forwarded-Proto$方案;代理集头X转发协议$方案;proxy_set_header X-Forwarded-Host$http_Host;}安全/XSS缓解标题添加标题X-Frame-Options“SAMEORIGIN”;添加_头X-XSS-Protection“1;模式=块”;添加标题X-Content-Type-Options“nosniff”;} 保存并关闭此文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 现在,您可以通过Jellyfin访问Jellyfin媒体服务器。实例通用域名格式。 阿帕奇 如果您更喜欢Apache而不是Nginx,那么使用以下命令安装ApacheWeb服务器。 sudo apt安装apache2 要使用Apache作为反向代理,我们需要启用代理模块和头模块。 sudo a2enmod代理u http头代理u wstunnel 然后为Jellyfin创建一个虚拟主机文件。 sudo nano/etc/apache2/网站可用/jellyfin。形态 将以下配置放入该文件。更换鱼翅。实例com与您的实际域名。别忘了为这个子域创建DNS记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 &lt;虚拟主机*:80&gt;服务器名jellyfin。实例com错误文件404/404。html#HTTP代理ProxyPass/http://localhost:8096/ProxyPassReverse/http://localhost:8096/#Websocket代理SSLProxyEngine on&lt;位置/:/websockets/notifications&gt;ProxyPasswss://localhost:8096/:/websockets/notificationsProxyPassReversewss://localhost:8096/:/websockets/notifications&lt/地点&gt;标题始终未设置X帧选项&lt/VirtualHost&gt; 保存并关闭文件。然后启用这个虚拟主机。 sudo a2ensite果冻。形态 重启Apache sudo systemctl重启apache2 现在,您可以使用域名Jellyfin访问Jellyfin媒体服务器。实例通用域名格式。 启用HTTPS 为了在您从外部访问Jellyfin服务器时加密HTTP流量,我们可以通过安装Let’s encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Debian 10上安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果您使用Nginx,那么您还需要安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--staple ocsp--email[email ;protected]-d jellyfin。实例通用域名格式 如果使用Apache,则需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d jellyfin。实例通用域名格式 哪里: --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 您可以通过HTTPS访问Jellyfin web界面:https://jellyfin.example.com. 如何在Debian 10上升级Jellyfin 当新版本的Jellyfin media server问世时,您可以通过执行以下命令对其进行升级。 sudo apt更新sudo apt升级 然后重启果冻。 sudo systemctl重启果冻 故障排除 如果Debian服务器运行WireGuard VPN,您可能会在Jellyfin日志(sudo journalctl-eu Jellyfin)中看到以下错误。 [ERR]从10.0.0.102向239.255.255.250:1900系统发送套接字消息时出错。网插座。SocketException(0xFFFFFFFF):ai_标志的错误值 此错误意味着无法将消息从WireGuard接口发送到239.255.255.250,这是SSDP(简单服务发现协议)多播地址。这是因为您的WireGuard接口不允许访问IP地址。 要解决此问题,请编辑WireGuard接口配置文件。 sudo nano/etc/wireguard/你的界面。形态 查找AllowedIPs参数。我的像下面。 AllowedIPs=10.0.0.0/8 如您所见,VPN客户端只允许连接到10.0.0.0/8网络。现在添加239.255.255.250地址。 AllowedIPs=10.0.0.0/8239.255.255.250 保存并关闭文件。重新启动WireGuard。 sudo systemctl重启[电子邮件和#160;受保护] 重启果冻。 sudo systemctl重启果冻 再次查看Jellyfin日志(sudo journalctl-eu Jellyfin)。上述错误应该消失。 收尾 我希望本教程能帮助您在Debian 10上安装Jellyfin media server。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.22 浏览:102
  • 如何在Debian服务器/桌面上安装SABnzbd Usenet客户端

    SABnzbd是一个免费的开源和基于网络的Usenet客户端,用于在Usenet上下载二进制内容(图像、音频、视频、电子书等)。它是跨平台的,可用于Linux、BSD、macOS、UNIX、Windows、Synology、QNAP等。本教程将向您展示如何在Debian上安装SABnzbd。 SABnzbd功能 你可以通过网络浏览器从任何地方访问它。 响应迅速的网络界面。 支持多个Usenet服务器(提供程序)。 Android和iOS都提供移动应用程序 Sonar、Sickrage、Couch土豆和耳机等应用程序可以与SABnzbd集成,实现下载过程的自动化。 SABnzbd还可以读取和处理RSS提要,激活自定义脚本,并通过邮件、咆哮、徘徊、推送和推弹通知您。 NZB(Newz二进制)索引器集成。NZB文件类似于torrent文件,NZB索引器类似于torrent站点。 还有更多 如何在Debian上安装SABnzbd Usenet客户端 SABnzbd可从默认的Debian存储库获得。您需要启用contrib组件才能安装它。 sudo apt install软件属性公共sudo add apt repository contrib sudo apt update sudo apt install sabnzbdplus python sabyenc par2 SABYenc模块可以帮助提高CPU有限设备的下载速度。 为SABnzbd创建Systemd服务单元 尽管sabnzbdplus包提供了一个传统的Init脚本(/etc/Init.d/sabnzbdplus),但我发现它不起作用。我运行了以下命令来启动服务。 sudo服务sabnzbdplus启动 如果我用下面的命令列出Debian系统上的监听端口,那么找不到端口8080(默认情况下,SABnzbd监听端口8080)这表明它没有运行。 sudo ss-lnpt | grep 8080 启动SABnzbd的更好方法是使用Systemd服务单元。我们可以使用命令行文本编辑器(如Nano)为SABnzbd创建Systemd服务。 sudo nano/etc/systemd/system/sabnzbd。服务 将以下文本放入文件中。 [Unit]Description=SABnzbd Usenet Client After=网络。target[Service]Type=simple User=sabnzbd Group=sabnzbd ExecStart=/usr/bin/python-OO/usr/bin/sabnzbdplus--browser 0 ExecStop=/usr/bin/pkill sabnzbdplus Restart=always syslogidentier=sabnzbd Usenet Client[Install]WantedBy=multi-User。目标 默认情况下,SABnzbd监听端口8080。如果系统上的另一个进程正在使用这个端口,那么SABnzbd将自动选择另一个端口。我建议直接在ExecStart参数中选择一个端口,如下所示,这将使SABnzbd监听端口8081。 ExecStart=/usr/bin/python-OO/usr/bin/sabnzbdplus-s127.0.0.1:8081——浏览器0 保存并关闭文件。(要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。要关闭文件,请按Ctrl+X。) 然后重新加载系统D。 sudo systemctl后台程序重新加载 请注意,SABnzbd不需要root权限才能运行。所以我们已经在。SABnzbd应该作为没有根权限的SABnzbd用户和组运行的服务文件。使用以下命令创建sabnzbd系统用户和组。主目录将用于保存配置文件(/home/sabnzbd/.sabnzbd/sabnzbd.ini)。 sudo adduser——系统——home/home/sabnzbd——组sabnzbd 现在我们可以使用systemd服务启动sabnzbd。 sudo systemctl启动sabnzbd 启动时启用自动启动。 sudo systemctl启用sabnzbd 现在检查sabnzbd状态。 系统控制状态sabnzbd 样本输出: 启动安装向导 您可以在任何web浏览器中输入127.0.0.1:8080/sabnzbd/wizard以启动快速启动向导。如果在远程Debian服务器上安装了SABnzbd,则需要使用Nginx或Apache设置反向代理,以便访问web UI,本教程稍后将对此进行解释。 选择一种语言。在下一个屏幕中,输入Usenet提供商的服务器详细信息。我使用NewsDemon,它提供15天的免费试用期。这些服务器详细信息可以从您的Usenet提供商处获得。如果您的Usenet支持SSL,请确保勾选SSL。 为了从Usenet下载内容(图像、音频、视频、电子书等),您需要向SABnzbd提供一个NZB文件。NZB文件,类似于。torrent文件,可以从像nzbfinder这样的Usenet索引网站下载。ws。这些网站大多基于免费模式。你可以选择建立自己的免费Usenet indexer,但是现在对于一个Usenet初学者来说,在这些Usenet索引站点注册免费帐户是一个好主意,看看你能得到什么。从截图中可以看出,下载速度非常快。(16.8 MB/s=134.4 Mbit/s) 如何更改下载目标文件夹 默认的下载文件夹是/home/sabnzbd/Downloads。如果要将其更改为另一个目录,例如外部硬盘,请单击SABnzbd web界面中的文件夹菜单。然后单击浏览器按钮进行更改。 请注意,sabnzbd用户需要对下载目标文件夹具有读写权限。如果使用外部USB硬盘,可以运行以下命令授予权限。 sudo setfacl-R-mu:sabnzbd:rwx/media/linuxbabe/ 我的外部USB硬盘安装在/media/linuxbabe/,请根据需要进行更改。 设置反向代理 要使用域名从远程连接(例如局域网外)访问SABnzbd web界面,可以使用Nginx或Apache设置反向代理。 如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 Nginx 在Debian上安装Nginx。 sudo apt安装nginx 启动Nginx web服务器。 sudo systemctl start nginx 然后在/etc/nginx/conf.d/目录中创建一个新的服务器块文件。 sudo nano/etc/nginx/conf.d/sabnzbd。形态 将以下文本粘贴到文件中。替换sabnzbd。你的领域。com与您首选的域名,不要忘记为其创建DNS记录。如果使用不同的端口,请将8080更改为自己的端口号。 服务器{listen 80;listen[::]:80;服务器名sabnzbd.your-domain.com;位置/{proxy_passhttp://127.0.0.1:8080; 代理设置头主机$httpU主机;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_X_Forwarded_For;proxy_set_header X-Forwarded-Proto$scheme;} 保存并关闭文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx。 sudo systemctl重新加载nginx 现在,您可以通过SABnzbd访问SABnzbd Web界面。你的领域。通用域名格式。如果您看到以下错误: 访问被拒绝-主机名验证失败 然后需要编辑配置文件(/home/sabnzbd/.sabnzbd/sabnzbd.ini)并添加sabnzbd。你的领域。进入白名单。 host_whitelist=sabnzbd。你的领域。通用域名格式 然后重启SABnzbd。 sudo systemctl重启sabnzbd 阿帕奇 如果使用ApacheWeb服务器而不是Nginx,请按照以下说明设置反向代理。 安装Apache web服务器。 sudo apt安装apache2 要使用Apache作为反向代理,我们需要启用代理模块,还需要启用重写模块。 sudo a2enmod代理服务器u http重写 然后为SABnzbd创建一个虚拟主机文件。 sudo nano/etc/apache2/sites available/sabnzbd。形态 将以下文本放入文件中。替换sabnzbd。你的领域。com与您的实际域名,不要忘记为其创建DNS a记录。如果使用不同的端口,请将8080更改为自己的端口号。 &lt;虚拟主机*:80&gt;服务器名sabnzbd。你的领域。com ProxyPass/http://127.0.0.1:8080/ProxyPassReverse/http://127.0.0.1:8080/&lt/VirtualHost&gt; 保存并关闭文件。然后启用这个虚拟主机。 sudo a2ensite sabnzbd。形态 重新加载Apache以使更改生效。 sudo systemctl重新加载apache2 现在,您可以通过在浏览器地址栏中输入域名(SABnzbd.your-domain.com)远程访问SABnzbd。如果您看到以下错误: 访问被拒绝-主机名验证失败 然后需要编辑配置文件(/home/sabnzbd/.sabnzbd/sabnzbd.ini)并添加sabnzbd。你的领域。进入白名单。 host_whitelist=sabnzbd。你的领域。通用域名格式 然后重启SABnzbd。 sudo systemctl重启sabnzbd 启用HTTPS 为了在您从外部访问SABnzbd web界面时加密HTTP流量,我们可以通过安装Let’s encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Debian上安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果您使用Nginx,那么您还需要安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--staple ocsp--email[email ;protected]-d sabnzbd。你的领域。通用域名格式 如果使用Apache,则需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d sabnzbd。你的领域。通用域名格式 哪里: --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 限制访问 如果可以从公共互联网访问SABnzbd,那么设置用户名和密码非常重要,这可以在配置中完成&gt;通用&gt;保安科。 收尾 就这样!我希望本教程能帮助您在Debian上安装SABnzbd。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.22 浏览:69
  • 如何使用纯FTPd在Debian 10上设置安全的FTP服务器

    Pure FTPd是一款免费的开源FTP服务器,其设计考虑了安全性。在本教程中,我们将学习如何使用纯FTPd在Debian 10上设置FTP服务器,以及如何实施TLS加密。 纯FTPd功能: 它支持SSL/TLS加密,因此可以保护密码和命令。 它可以在大多数类Unix系统上运行:Linux、BSDs、Solaris、Darwin、HPUX、AIX,甚至iPhone。 有21种语言可供选择。 允许您监视活动会话。 支持虚拟配额系统。 还有更多 有关完整的功能列表,请访问Pure FTPd官方网站。 步骤1:在Debian 10服务器上安装Pure FTPd 它位于软件存储库中,因此发出以下命令来安装FTP服务器。 sudo apt安装纯ftpd 一旦安装,Pure FTPd将自动启动,如下命令所示: systemctl状态纯ftpd 输出: ● 纯ftpd。已加载服务:已加载(/etc/init.d/pure-ftpd;已生成)活动:自2021-06-16 13:15:52 UTC周三起活动(运行);23秒前的文档:man:systemd sysv generator(8)任务:1(限制:558)内存:972.0K CGroup:/system。切片/纯ftpd。服务└─9223纯ftpd(服务器) 如果它没有运行,请用以下代码启动: sudo systemctl启动纯ftpd 它在TCP端口21上监听,这是控制端口,可以从中看到 sudo ss-lnpt |格雷普纯ftpd 另一个端口是数据端口(TCP端口20),用户通过FTP传输文件时将使用该端口。 默认情况下禁用匿名访问。从现在起,您可以使用系统帐户登录,但纯文本FTP是不安全的,强烈建议不要使用。为了有一个安全的FTP服务器,我们需要加密与TLS的通信。 第2步:实施TLS加密 要同时启用纯文本和TLS加密,请运行以下命令,创建/etc/pure-ftpd/conf/TLS文件,并将数字1放入该文件中。 echo 1 | sudo-tee/etc/pure-ftpd/conf/TLS 但建议禁用纯文本,只使用TLS加密,因此将数字2改为文件。 echo 2 | sudo-tee/etc/pure-ftpd/conf/TLS 现在我们实施了TLS,我们需要获得有效的TLS证书。不建议使用自签名证书,因为用户会看到如下屏幕截图所示的警告消息。 步骤3:从Let's Encrypt获取受信任的TLS证书 运行以下命令,从默认的Debian 10存储库安装Let's Encrypt client(certbot)。 sudo apt安装certbot 我建议使用standalone或webroot插件获取纯FTPd的TLS证书。 独立插件 如果Debian 10服务器上没有运行web服务器,可以使用独立插件。运行以下命令。别忘了为你的子域设置DNS记录。 sudo certbot certonly--独立--首选挑战http--同意tos--电子邮件[email ;protected]-d ftp。实例通用域名格式 哪里: certonly:获取证书,但不要安装它。 --standalone:使用standalone插件获取证书 --首选挑战http:执行http-01挑战以验证我们的域,该域将使用端口80。 --同意:同意让我们加密服务条款。 --电子邮件:电子邮件地址用于帐户注册和恢复。 -d:指定你的域名。 从下面的截图可以看出,我成功地获得了证书。 使用webroot插件 如果Debian 10服务器有一个web服务器,那么最好使用webroot插件来获取证书,因为webroot插件几乎适用于所有web服务器,我们不需要在web服务器中安装证书。 首先,您需要为ftp创建一个虚拟主机。实例通用域名格式。 阿帕奇 如果您使用的是Apache,那么 sudo nano/etc/apache2/sites available/ftp。实例通用域名格式。形态 并将以下行粘贴到文件中。 &lt;虚拟主机*:80&gt;服务器名ftp。实例com DocumentRoot/var/www/Pure-FTPd&lt/VirtualHost&gt; 保存并关闭文件。然后创建web根目录。 sudo mkdir/var/www/Pure-FTPd 将www数据(Apache用户)设置为web根目录的所有者。 sudo chown www-data:www-data/var/www/Pure-FTPd-R 启用此虚拟主机。 sudo a2ensite ftp。实例通用域名格式 重新加载Apache以使更改生效。 sudo systemctl重新加载apache2 创建并启用虚拟主机后,运行以下命令以获取使用webroot插件加密证书。 sudo certbot certonly--webroot--agree tos--email[email ;protected]-d ftp。实例com-w/var/www/Pure-FTPd Nginx 如果您使用的是Nginx,那么 sudo nano/etc/nginx/conf.d/ftp。实例通用域名格式。形态 将以下行粘贴到文件中。 服务器{listen 80;listen[:]:80;server_name ftp.example.com;root/var/www/Pure-FTPd/;location~/.well-known/acme challenge{allow all;} 保存并关闭文件。然后创建web根目录。 sudo mkdir-p/var/www/Pure-FTPd 将www数据(Nginx用户)设置为web根目录的所有者。 sudo chown www-data:www-data/var/www/Pure-FTPd-R 重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 创建并启用虚拟主机后,运行以下命令以获取使用webroot插件加密证书。 sudo certbot certonly--webroot--agree tos--email[email ;protected]-d ftp。实例com-w/var/www/Pure-FTPd 步骤4:安装证书 Pure FTPd要求将证书和私钥合并到一个名为Pure FTPd的文件中。pem并存储在/etc/ssl/private/目录下。 更改为/etc/letsencrypt/live/ftp。实例com/directory。 sudo su-cd/etc/letsencrypt/live/ftp。实例com/ 您可以使用cat命令将两个文件合并为一个文件,如下所示。 猫全链。佩姆·普列夫基。pem | sudo-tee/etc/ssl/private/pure-ftpd。佩姆 确保只有root用户才能读取该文件。 sudo chmod 600/etc/ssl/private/pure-ftpd。佩姆 我们需要生成Diffie-Hellman参数: sudo openssl dhparam-out/etc/ssl/private/pure-ftpd dhparams。pem 4096 如果您的服务器只有一个CPU核心,那么这将需要很长时间(大约10分钟)。 完成后,重新启动纯FTPd。 sudo systemctl重新启动纯ftpd 检查状态以查看它是否正在运行。 systemctl状态纯ftpd 现在,您可以通过TLS连接到FTP服务器。 第5步:在防火墙中打开FTP端口 如果使用UFW防火墙,则运行以下命令打开TCP端口20和21。 sudo ufw允许20,21/tcp 第6步:连接到FTP服务器 如果您使用Nautilus file manager通过纯文本FTP://协议连接到FTP服务器 连接将被拒绝。 您必须使用ftps://,而不是ftp://。 默认情况下,FTP用户将被带到服务器上的/root目录。 请注意,Filezilla默认情况下不信任任何证书(自签名或CA签名)。用户必须选择为自己信任证书。 FileZilla未知证书警告 您需要使用FTP显式TLS协议(ftpes://ftp.example.com)在菲齐拉。 自动更新TLS证书 您可以创建Cron作业来自动续订TLS证书。只需打开根用户的crontab文件。 sudo crontab-e 在文件底部添加以下行。 @每日certbot更新——安静与&amp;cd/etc/letsencrypt/live/ftp。实例com/&amp&amp;猫全链。佩姆·普列夫基。pem | tee/etc/ssl/private/pure ftpd。pem&amp&amp;systemctl重新加载纯ftpd 有必要重新加载纯ftpd,使其获取新的证书和私钥。 收尾 我希望本教程能帮助您在Debian 10上使用纯FTPd设置一个安全的FTP服务器。一如既往,如果你觉得这篇文章有用,那么订阅我们的免费时事通讯。你也可以在Twitter或Facebook上关注我们。

    2022.03.22 浏览:105
  • 如何使用Apache/Nginx在Ubuntu 20.04上安装FileRun

    本教程将向您展示如何使用Apache/Nginx web服务器在Ubuntu 20.04 LTS上安装FileRun。FileRun是一款自托管的Google Drive/Photos/Music替代产品。 文件运行功能 不需要索引。它可以直接访问文件系统上的文件。 与NextCloud兼容。 自动文件版本控制。 100%可品牌化。上传你自己的标志。 可扩展。有很多插件可以让你创建和编辑office文件、CAD文件等。 访客用户。 整理、同步和共享您的照片。 内置音乐播放器和组织者 要求 要学习本教程,您需要域名和服务器。我在namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。一台1G内存的服务器足以运行FileRun。一旦你有了一台服务器,就在上面安装Ubuntu,并按照下面的说明操作。 FileRun是用PHP编写的,使用MySQL/MariaDB数据库。为了学习本教程,假设您已经在Ubuntu20.04上设置了LAMP或LEMP堆栈。如果没有,请查看以下教程之一: 如何在Ubuntu 20.04服务器上安装LAMP stack 如何在Ubuntu 20.04服务器上安装LEMP堆栈 当你设置完LAMP或LEMP堆栈后,回到这里继续阅读。 第一步:在Ubuntu 20.04上下载FileRun 通过SSH登录到服务器。您始终可以使用以下命令在服务器上下载最新版本的FileRun。 wget-O文件运行。拉链https://filerun.com/download-latest 下载后,使用解压功能提取归档文件。 sudo apt安装unzip sudo mkdir-p/var/www/filerun/sudo unzip filerun。zip-d/var/www/filerun/ -d选项指定目标目录。FileRun web文件将被提取到/var/www/FileRun/。然后我们需要将该目录的所有者更改为www数据,以便web服务器可以写入该目录。 sudo chown www-data:www-data/var/www/filerun/-R 第2步:在MariaDB中创建数据库和用户 使用以下命令登录MariaDB数据库服务器。 sudo mysql 或者,您也可以使用此命令登录。 sudo mariadb 然后为FileRun创建一个数据库。本教程将数据库文件命名为run。你可以用任何你喜欢的名字。 创建数据库文件运行; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 创建用户filerun@localhost由“您的密码”标识; 授予此用户在filerun数据库上的所有权限。 授予filerun的所有权限。*到filerun@localhost; 刷新权限并退出。 同花顺特权;出口 步骤3:创建Apache或Nginx配置文件 阿帕奇 如果您更喜欢使用Apache web服务器,那么在/etc/apache2/sites available/目录中创建一个虚拟主机配置文件。 sudo nano/etc/apache2/sites available/filerun。形态 将以下文本放入文件中。替换filerun。实例使用你自己的域名。别忘了在DNS管理器中设置域名记录。 &lt;虚拟主机*:80&gt;服务器名文件运行。实例com DocumentRoot/var/www/filerun&lt;目录“/var/www/filerun”&gt;选项索引如下Symlinks AllowOverride All需要全部授予&lt/目录&gt;ErrorLog${APACHE_LOG_DIR}/filerun。错误log CustomLog${APACHE_log_DIR}/filerun。通道日志合并&lt/VirtualHost&gt; 保存并关闭文件。然后启用重写模块。 sudo a2enmod重写 然后启用这个虚拟主机。 sudo a2ensite文件运行。形态 重新启动Apache web服务器,使更改生效。 sudo systemctl重启apache2 Nginx 如果您更喜欢使用Nginx web服务器,那么创建一个filerun。conf文件位于/etc/nginx/conf.d/目录中。 sudo nano/etc/nginx/conf.d/filerun。形态 将以下文本放入文件中。替换filerun。实例使用你自己的域名。别忘了在DNS管理器中设置域名记录。 server{listen[:]:80;listen 80;server_name filerun.example.com;access_log/var/log/nginx/filerun.access.log;error_log/var/log/nginx/filerun.error.log;root/var/www/filerun/;index.php index.html;location/{try_files$uri$uri//index.php;}错误_第404/404页。html;错误_第500页502 503 504/50x。html;客户最大身体尺寸500米;位置=/50x。html{root/usr/share/nginx/html;}地点~/。php${fastcgi_pass unix:/run/php/php7.4-fpm.sock;fastcgi_-param SCRIPT_FILENAME$document_root$fastcgi_-SCRIPT_-name;include fastcgi_-params;include snippets/fastcgi-php.conf;}#启用gzip压缩gzip on;gzip_随时间而变化;gzip_min_长度1000;gzip_comp_5级;gzip_类型application/json text/css application/x-javascript application/javascript image/svg+xml;gzip#u代理任何;#较长的浏览器缓存寿命可以加快对页面位置的重复访问~*/。(jpg | jpeg | gif | png | webp | svg | woff | woff2 | ttf | css | js | ico | xml)${accesslog off log_not found off;expires 360d;}禁用对隐藏文件位置~//的访问。ht{access_log off;log_not_found off;deny all;} 保存并关闭文件。测试Nginx配置,然后重新加载Nginx以使更改生效。 sudo nginx-t sudo systemctl reload nginx 第4步:安装并启用PHP模块 运行以下命令来安装FileRun所需或推荐的PHP模块。 sudo apt安装imagemagick ffmpeg php imagick php7。4-mysql php7。4-fpm php7。4-常见php7。4-gd php7。4-json php7。4-卷曲php7。4-zip php7。4-XMLPHP7。4-Mb字符串php7。4-bz2 php7。4-intl Filerun使用ionCube加密其PHP文件,因此我们需要安装ionCube PHP加载程序来解密PHP文件。Dowload ionCube装载机。 wgethttps://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz 将其解压缩到/usr/lib/php/。 sudo tar-xzf ioncube装载机xzf lin x86-64。焦油gz-C/usr/lib/php 现在我们需要启用ioncube PHP扩展。 阿帕奇 如果使用Apache,则为ionCube创建PHP ini文件。 sudo nano/etc/php/7.4/apache2/conf.d/00-ioncube。伊尼 将以下行添加到此文件。 zend_extension=/usr/lib/php/ioncube/ioncube_loader_lin_7.4。所以 保存并关闭文件。我们需要创建第二个PHP ini文件。 sudo nano/etc/php/7.4/apache2/conf.d/filerun。伊尼 添加以下行。这是为了更改一些默认的PHP配置。 expose_php=Off error_reporting=E_ALL&amp~E_NOTICE display_errors=Off display_startup_errors=Off log_errors=On ignore_repeated_errors=Off allow_url_fopen=On allow_url_include=Off variables_order=“GPCS”allow_webdav_methods=On memory_limit=128M max_execution_time=300输出_缓冲=Off输出_handler=”“zlib。输出压缩=关闭zlib。output_handler=”“safe_mode=Off register_globals=Off magic_quotes_gpc=Off upload_max_filesize=20M post_max_size=20M enable_dl=Off disable_functions=”“disable_classes=”“session。save_handler=文件会话。使用u cookies=1个会话。仅使用u cookies=1个会话。自动启动=0个会话。cookie_lifetime=0会话。cookie_httponly=1个日期。时区=“UTC” 保存并关闭文件。重新加载Apache以使更改生效。 sudo systemctl重新加载apache2 Nginx 如果使用Nginx,请编辑php。ini文件。 sudo nano/etc/php/7.4/fpm/php。伊尼 在[PHP]行的正下方添加以下行。 zend_extension=/usr/lib/php/ioncube/ioncube_loader_lin_7.4。所以 保存并关闭文件。我们需要创建第二个PHP ini文件。 sudo nano/etc/php/7.4/fpm/conf.d/10-ioncube。伊尼 添加以下行。这是为了更改一些默认的PHP配置。 expose_php=Off error_reporting=E_ALL&amp~E_NOTICE display_errors=Off display_startup_errors=Off log_errors=On ignore_repeated_errors=Off allow_url_fopen=On allow_url_include=Off variables_order=“GPCS”allow_webdav_methods=On memory_limit=128M max_execution_time=300输出_缓冲=Off输出_handler=”“zlib。输出压缩=关闭zlib。output_handler=”“safe_mode=Off register_globals=Off magic_quotes_gpc=Off upload_max_filesize=20M post_max_size=20M enable_dl=Off disable_functions=”“disable_classes=”“session。save_handler=文件会话。使用u cookies=1个会话。仅使用u cookies=1个会话。自动启动=0个会话。cookie_lifetime=0会话。cookie_httponly=1个日期。时区=“UTC” 保存并关闭文件。然后重启Nginx和PHP7。4-FPM。 sudo systemctl重启nginx php7。4-fpm 现在,您应该可以访问以下位置的FileRun基于web的安装向导:http://filerun.example.com,但在输入任何信息之前,让我们启用HTTPS。 第5步:启用HTTPS 为了在访问FileRun web界面时加密HTTP流量,我们可以通过安装Let’s encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Ubuntu 20.04上安装Let's Encrypt client(certbot)。 sudo apt更新sudo apt安装certbot 如果使用Nginx,还需要安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 然后运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--staple ocsp--email[email ;protected]-d filerun。实例通用域名格式 如果使用Apache,还需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 然后运行此命令以获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d filerun。实例通用域名格式 说明: --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 &nbsp; 第6步:在Web浏览器中完成安装 去https://filerun.example.com启动基于web的安装向导。然后点击下一步按钮。 它将检查您的系统是否满足PHP扩展等要求。如果满足所有要求,请单击“下一步”。 在下一步中,输入您在步骤2中创建的MariaDB用户名、密码和数据库名称。 单击“下一步”后,安装向导将自动创建用户帐户。单击“下一步”继续。 在下一个屏幕上,您可以使用超级用户帐户登录。首次登录时,您需要为超级用户帐户创建一个主文件夹。 可以使用以下命令为超级用户创建主文件夹。 sudo mkdir/var/www/superuser sudo chown www-data/var/www/superuser/-R 然后在FileRun web界面中输入文件夹路径。并保存更改。 下一步,转到安全-&gt;API来启用API,以便客户端应用程序可以与服务器同步。 安装FileRun桌面同步客户端 在桌面上,FileRun使用Nextcloud客户端与服务器同步。在Ubuntu桌面上,您可以通过以下方式安装Nextcloud客户端: sudo apt安装nextcloud桌面 有关如何在其他平台上安装客户端应用程序,请查看FileRun下载页面。 如何设置电子邮件通知 如果有多个用户,那么最好让FileRun能够发送密码重置电子邮件等电子邮件通知。有关如何设置电子邮件服务器,请查看以下教程。请注意,我强烈建议在全新干净的操作系统上运行iRedMail邮件服务器。在具有其他web应用程序的操作系统上安装iRedMail可能会失败,并可能破坏现有的应用程序。 如何使用iRedMail在Ubuntu20.04上轻松设置功能齐全的邮件服务器 如果您不想运行自己的电子邮件服务器,可以设置SMTP中继。请参阅以下教程。 如何在Ubuntu20.04服务器上设置后缀SMTP中继 收尾 就这样!我希望本教程能帮助您使用Apache或Nginx在Ubuntu20.04服务器上安装FileRun。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.23 浏览:70
  • 在Ubuntu 20.04上安装Akaunting自托管会计软件

    本教程将向您展示如何使用Apache或Nginx web服务器在Ubuntu 20.04上安装Akaunting。Akaunting是一款免费、开源、可自托管的会计软件。你可以用它来追踪个人财务或小企业会计。 Akaunting功能 完全免费和开源。 易于使用的基于网络的界面。在Mac、PC、平板电脑或手机上随时随地在线查看您的财务状况。 移动及;平板电脑界面 多语种管理;客户端面板 专为小企业设计 100%财务数据所有权 终身免费更新 您可以创建客户并向他们发送发票。您还可以设置密码,以便他们能够访问客户端门户。 向客户发送专业发票,开始接受在线支付,无需支付佣金/交易费。 增加账户间的存款和转账,保持银行账户余额活跃。 创建供应商,以便您可以为他们分配账单和付款,然后轻松过滤他们的交易。 创建和管理账单,使你的财务状况始终准确健康。知道什么时候付款。 将不可计费的费用添加为付款,以保持银行/现金账户余额最新。 启用库存跟踪,并在货物进出时对其进行管理。商品也能加快开发票的速度。 创建无限制的银行账户和现金账户,并跟踪其期初和当前余额。 以任何货币发送发票和添加费用,并让系统将其转换为您的主货币。 从一个管理小组管理多家公司的财务。将用户分配到不同的公司。 获取详细的财务报告,以帮助您更好地可视化改善业务所需的所有信息。 扩展Akaunting通过从应用商店安装应用,你可以安装或购买任何东西。 在角色级别配置权限,以保护和简化他们的管理体验。 在Ubuntu 20.04上安装Akaunting的先决条件 首先,你需要一个至少有512MB内存的Ubuntu服务器。如果您正在寻找VPS(虚拟专用服务器),那么您可以单击此特殊链接在Vultr上创建一个帐户,以获得50美元的免费积分(仅限新用户)。一旦你在Vultr上有了一个帐号,就在你的服务器上安装Ubuntu20.04,并按照下面的说明操作。 Akaunting需要PHP和MySQL/MariaDB。要学习本教程,您应该已经设置了灯堆栈或LEMP堆栈。如果您更喜欢使用ApacheWeb服务器,请安装LAMP堆栈。 如何在Ubuntu 20.04上安装LAMP(Apache、MariaDB、PHP)堆栈 如果您更喜欢使用Nginx web服务器,请安装LEMP stack。 如何在Ubuntu 20.04上安装LEMP(Nginx、MariaDB、PHP)堆栈 你还需要一个域名,这样你的客户就可以通过你的域名查看发票。我在namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。 现在让我们安装Akaunting。 第一步:在Ubuntu 20.04服务器上下载Akaunting安装Zip文件 登录Ubuntu20.04服务器,使用以下命令下载最新稳定版本的Akaunting。 wget-O Akaunting。拉链https://akaunting.com/download.php?version=latest 然后在web根目录下为Akaunting创建一个目录。 sudo mkdir-p/var/www/akaunting/ 解压缩压缩文件。 sudo apt安装unzip sudo unzip Akaunting。zip-d/var/www/akaunting/ -d选项指定目标目录。Akaunting web文件将被提取到/var/www/Akaunting/。接下来,我们需要将该目录的所有者更改为www数据,以便web服务器可以写入该目录。 sudo chown www-data:www-data/var/www/akaunting/-R 第2步:在MariaDB中创建数据库和用户 使用以下命令登录MariaDB数据库服务器。由于MariaDB现在使用unix_socket插件来验证用户登录,因此无需输入MariaDB根密码。我们只需要在mysql命令前面加上sudo。 sudo mysql-u root 然后为Akaunting创建一个数据库。本教程将数据库命名为akaunting。你可以用任何你喜欢的名字。 创建数据库; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 创建由“您的密码”标识的用户“accounter”@“localhost”; 授予此用户在akaunting数据库上的所有权限。 授予akaunting的所有特权。*到“会计”@“本地主机”; 刷新权限并退出。 同花顺特权;出口 第3步:安装PHP模块 运行以下命令安装Akaunting所需或推荐的PHP模块。 sudo apt安装php imagick php7。4-常见php7。4-mysql php7。4-gd php7。4-bcmath php7。4-json php7。4-卷曲php7。4-zip php7。4-XMLPHP7。4-Mb字符串php7。4-bz2 php7。4-intl 然后重启Apache。(如果使用Nginx,则无需重新启动Nginx。) sudo systemctl重启apache2 第4步:设置Web服务器 我们可以使用Apache或Nginx web服务器。 阿帕奇 如果您喜欢Apache,可以使用命令行文本编辑器(如Nano)为Akaunting创建一个虚拟主机文件。 sudo nano/etc/apache2/网站可用/akaunting。形态 将以下文本放入文件中。取代会计。你的地盘。与Akaunting的真实子域通信。别忘了在域名注册商的DNS管理器中设置域名的DNS记录。 &lt;虚拟主机*:80&gt;服务器名会计。你的地盘。com DocumentRoot/var/www/akaunting/&lt;目录/var/www/akaunting/&gt;目录索引。php选项+FollowSymLinks AllowOverride All需要全部授予&lt/目录&gt;ErrorLog${APACHE_LOG_DIR}/akaunting。错误log CustomLog${APACHEu logu DIR}/akaunting。通道日志合并&lt/VirtualHost&gt; 保存并关闭文件。然后启用这个虚拟主机。 sudo a2ensite akaunting。形态 我们需要启用重写模块。 sudo a2enmod重写 重新启动Apache以使更改生效。 sudo systemctl重启apache2 现在访问会计。你的地盘。com,您将被重定向到安装向导页面(accounting.yourdomain.com/install/language)。如果看到的是默认的Apache页面而不是安装向导,则需要禁用默认的虚拟主机。 sudo A2000默认值。形态 然后重启Apache。 在安装向导中输入任何信息之前,我们需要启用HTTPS。 Nginx 如果你更喜欢Nginx,创建一个akaunting。conf文件位于/etc/nginx/conf.d/目录中。 sudo nano/etc/nginx/conf.d/akaunting。形态 将以下文本放入文件中。取代会计。你的地盘。com与您的真实子域进行通信。别忘了在域名注册商的DNS管理器中设置域名的DNS记录。 服务器{listen 80;listen[:]:80;server_name accounting.yourdomain.com;root/var/www/akaunting/;index index.php index.html index.htm;charset utf-8;error_log/var/log/nginx/akaunting.error;access_log/var/log/nginx/akaunting.access;添加_header X-Frame-Options“SAMEORIGIN”;添加_header X-XSS-Protection“1;mode=block”; 添加标题X-Content-Type-Options“nosniff”;location/{try_files$uri$uri//index.php?$query_string;}#阻止直接访问受保护文件位置~/。(env|log){deny all;}#阻止直接访问受保护文件夹位置^/(^app$| bootstrap | config |数据库|资源|路由|存储|测试| artisan){deny all;}禁止直接访问模块/供应商文件夹,资产位置除外^/(模块|供应商)/(.*)/。((?!ico | gif | jpg | jpeg | png | js | css | less | sass | font | woff | woff2 | eot | ttf | svg)。*${否认一切;}错误_第404页/索引。php;地点~/。php${fastcgi_split_path_info^(.+/.php)(/.+)$;fastcgi_pass unix:/run/php/php7.4-fpm.sock;fastcgi_index index.php;包含fastcgi_参数;fastcgi_参数脚本文件名$document_root$fastcgi_脚本_name;}地点~//。(?!知名)。*{拒绝所有;} 保存并关闭文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 现在访问会计。你的地盘。com,您将被重定向到安装向导页面(accounting.yourdomain.com/setup)。在安装向导中输入任何信息之前,我们需要启用HTTPS。 第5步:启用HTTPS 为了加密HTTP流量,我们可以通过安装Let's encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Ubuntu20.04服务器上安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果使用Apache,还需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 并运行此命令以获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d accounting。你的地盘。通用域名格式 如果使用Nginx,请安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--staple ocsp--email[email ;protected]-d accounting。你的地盘。通用域名格式 哪里 --nginx:使用nginx插件。 --apache:使用apache插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防御SSL/TLS剥离攻击。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。 第6步:使用安装向导完成安装 现在转到会计。你的地盘。com和安装向导将出现。首先,你需要选择你的语言。 然后输入数据库信息。使用在步骤2中创建的数据库名称和数据库用户。 接下来,输入公司名称并创建一个管理员帐户。 完成后,您可以登录管理面板。 登录后,您需要按照向导创建第一家公司。 现在你可以在基于网络的管理面板中管理你的财务。 第7步:配置SMTP 要发送电子邮件(如帐户注册、密码重置、向客户发送发票等),需要配置SMTP服务器。SMTP设置可在设置-&gt;电子邮件-&gt;协议使用以下设置。 协议:SMTP SMTP主机:邮件服务器(如邮件)的主机名。利努克斯宝贝。通用域名格式 SMTP端口:587 在邮件服务器上创建电子邮件地址,并输入SMTP用户名和密码。 SMTP安全性:TLS 如果您想使用自己的邮件服务器向客户发送电子邮件,请查看以下文章以设置自己的邮件服务器。请注意,我强烈建议在全新干净的操作系统上运行iRedMail邮件服务器。在具有其他web应用程序的操作系统上安装iRedMail可能会失败,并可能破坏现有的应用程序。 如何使用iRedMail在Ubuntu20.04上快速设置电子邮件服务器 如果你想使用SMTP中继服务,我建议使用Mailjet。您可以按照下面的教程在Akaunting服务器上设置SMTP中继,并且应该能够向客户端发送发票。 如何使用Mailjet在Ubuntu上设置后缀SMTP中继 启用贝宝支付 您可以在设置中启用Paypal支付选项-&gt;贝宝标准。 故障排除 如果在Akaunting中遇到错误,可以检查/var/www/Akaunting/storage/logs/目录下的日志以解决问题。 收尾 我希望本教程能帮助您在Ubuntu 20.04服务器上安装Akaunting。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.23 浏览:78
  • 如何在Ubuntu 20.04服务器上安装Webmin

    Webmin是一个免费的开源控制面板,用于管理Unix/Linux服务器。本教程将向您展示如何在Ubuntu 20.04服务器上安装Webmin。 本教程也适用于Ubuntu 20.10。 Webmin为用户提供基于web的图形用户界面,以配置常见的系统任务和设置。如果您不喜欢使用命令行管理服务器,那么Webmin是一个很好的图形化替代方案。以下是Webmin提供的功能列表。 绑定DNS解析程序和权威DNS服务器 档案伺服器 FTP服务器 Postfix SMTP服务器和Dovecot IMAP/POP3服务器。 文件系统备份 配置日志文件旋转。 编辑软件包存储库,安排自动软件更新,并通过电子邮件接收更新报告。 管理用户和组 安排Cron作业。 配置iptables防火墙 还有更多。 从Webmin存储库在Ubuntu20.04上安装Webmin 自1997年以来,Webmin一直存在。在撰写本文的时候,最新的稳定版本是1.970,它是在2021年1月6日发布的。Webmin不在Ubuntu软件库中。建议您从其官方存储库安装Webmin,以便始终获得最新版本。 要添加Webmin存储库,请使用命令行文本编辑器(如Nano)创建源列表文件。 sudo nano/etc/apt/sources。列表d/webmin。列表 在文件中添加以下行。 黛布http://download.webmin.com/download/repository特雷布中士 保存并关闭文件。要在Nano文本编辑器中保存文件,请按CTRL+O,然后按Enter确认。要关闭文件,请按CTRL+X。接下来,我们需要运行以下命令下载Webmin PGP签名密钥并将其导入APT keyring,以便APT软件包管理器可以验证从Webmin存储库下载的软件包的完整性。 wgethttp://www.webmin.com/jcameron-key.asc 然后将其导入: sudo apt键添加jcameron键。asc 现在我们可以更新本地包索引并安装Webmin。 sudo apt更新sudo apt安装webmin-y 一旦安装,Wemin内置web服务器将自动启动,可以通过运行下面的systemctl命令看到: systemctl状态webmin 输出: 提示:如果上述命令没有立即退出,您可以按Q键重新控制终端。 如果它没有运行,可以从以下内容开始: sudo systemctl start webmin Webmin服务器监听端口10000。如果在服务器上使用UFW之类的防火墙,则需要打开TCP端口10000。 sudo ufw允许10000/tcp 现在,您可以通过 https://your-server-ip:10000 因为它在HTTPS模式下运行,并且使用自签名TLS证书,所以浏览器会告诉您连接不安全。 但你知道这是你自己的服务器,所以只需点击Firefox中的Advanced选项卡并添加exception。如果您使用的是谷歌Chrome,您可以单击高级-&gt;继续 现在,您将看到Webmin登录屏幕。你可以在Ubuntu20.04系统上使用root或sudo组中的任何用户帐户登录。 如果您不喜欢导航菜单上的默认颜色,可以通过单击导航菜单底部的主题配置图标将其更改为其他颜色, 然后选择导航菜单选项并设置调色板。例如,我选择了午夜蓝色。 把零钱存起来。 设置反向代理 如果在生产服务器上安装Webmin,则可能需要使用Apache或Nginx设置反向代理,以便在不指定端口号(10000)的情况下使用域名访问Webmin接口。这还允许您为Webmin获取并安装有效的Let's Encrypt TLS证书。 如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 阿帕奇 如果您更喜欢使用ApacheWeb服务器,请按照以下说明设置反向代理。 安装Apache web服务器。 sudo apt安装apache2 要使用Apache作为反向代理,我们需要启用代理、代理和重写模块。 sudo a2enmod代理服务器u http重写 然后为Webmin创建一个虚拟主机文件。 sudo nano/etc/apache2/sites available/webmin。形态 将以下文本添加到文件中。替换webmin。你的领域。com与您的实际域名,别忘了为它创建DNS记录。 &lt;虚拟主机*:80&gt;服务器名webmin。你的领域。com ProxyPass/http://127.0.0.1:10000/ProxyPassReverse/http://127.0.0.1:10000/&lt/VirtualHost&gt; 保存并关闭文件。然后启用这个虚拟主机。 sudo a2ensite webmin。形态 重新加载Apache以使更改生效。 sudo systemctl重新加载apache2 现在,您可以通过在浏览器地址栏中输入域名(Webmin.your-domain.com)远程访问Webmin。 Nginx 如果您更喜欢使用Nginx web服务器,请按照以下说明设置反向代理。 在Ubuntu上安装Nginx。 sudo apt安装nginx 启动Nginx web服务器。 sudo systemctl start nginx 然后在/etc/nginx/conf.d/目录中创建一个新的服务器块文件。 sudo nano/etc/nginx/conf.d/webmin。形态 将以下文本粘贴到文件中。替换webmin。你的领域。com与您首选的域名,不要忘记为其创建DNS记录。 服务器{listen 80;listen[:]:80;服务器名webmin.your-domain.com;访问日志/var/log/nginx/webmin.access;错误日志/var/log/nginx/webmin.error;位置/{proxyu passhttp://127.0.0.1:10000; #代理设置头主机$httpU主机;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_X_Forwarded_For;proxy_set_header X-Forwarded-Proto$scheme;} 保存并关闭文件。然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx。 sudo systemctl重新加载nginx 现在,您可以通过Webmin访问Webmin Web界面。你的领域。通用域名格式。 启用HTTPS 为了在访问Webmin web界面时加密HTTP流量,我们可以通过安装Let’s encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Ubuntu上安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果使用Apache,则需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email&#160;protected]-d webmin。你的领域。通用域名格式 如果使用Nginx,则需要安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 接下来,运行以下命令获取并安装TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--staple ocsp--email[email&#160;protected]-d webmin。你的领域。通用域名格式 哪里: --apache:使用apache插件。 --nginx:使用nginx插件。 --同意:同意服务条款。 --重定向:通过301重定向强制HTTPS。 --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。 --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。 现在应获得证书并自动安装。您将能够通过安全的HTTPS连接访问Webmin web界面。 添加受信任的推荐人 因为Webmin本身是在HTTP模式下运行的,我们在Apache/Nginx中启用了HTTPS,所以Webmin会认为https://webmin.your-domain.com在Webmin服务器之外。所以我们需要添加可信的推荐人。 编辑Webmin配置文件。 sudo nano/etc/webmin/config 在末尾添加以下行。 referers=webmin。你的领域。通用域名格式 保存并关闭文件。然后重启Webmin。 sudo systemctl重启webmin 在Webmin中禁用HTTPS模式 既然TLS连接在Apache/Nginx上终止,我们需要在Webmin的内置web服务器中禁用HTTPS模式。编辑Webmin配置文件。 sudo nano/etc/webmin/miniserv。形态 找到下面这行。 ssl=1 将其更改为以下内容,以在Webmin中禁用HTTPS模式。 ssl=0 我们还可以在这个文件中添加以下行,这样内置的web服务器只允许从localhost进行访问。使用http://public-ip:10000这个计划将被禁止。 允许=127.0.0.1 保存并关闭文件。然后重启Webmin。 sudo systemctl重启webmin 故障排除 如果发现任何错误,可以查看Webmin错误日志(/var/Webmin/miniserv.error)以进行故障排除。 收尾 我希望本教程能帮助你在Ubuntu 20.04上安装Webmin。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门?

    2022.03.23 浏览:55
  • 使用Nginx(LEMP堆栈)在Ubuntu20.04上安装ProjectSend

    本教程将向您展示如何使用Nginx web服务器在Ubuntu 20.04 LTS上安装ProjectSend。 ProjectSend是什么? ProjectSend是一个免费的开源自托管文件共享解决方案。ProjectSend功能: 实时统计 创建客户端组 自我注册和社交登录 自定义电子邮件模板 先决条件 ProjectSend是用PHP编程语言编写的。要学习本教程,首先需要在Ubuntu 20.04上安装LEMP stack。如果您还没有这样做,请查看以下教程。 如何在Ubuntu 20.04上安装LEMP堆栈(Nginx、MariaDB、PHP7.4-FPM) 您可以在家庭服务器或VPS(虚拟专用服务器)上安装ProjectSend。您还需要一个域名,以便以后能够启用HTTPS来加密HTTP流量。我从namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。ProjectSend可以在没有域名的情况下安装,但如果不加密HTTP连接以防止窥探,那么它真的没有意义。如果你真的想修补服务器软件并充分利用它们,我建议你买一个域名。 现在让我们安装ProjectSend。 第一步:在Ubuntu 20.04上下载ProjectSend 登录你的Ubuntu 20.04服务器。然后将ProjectSend zip存档下载到服务器上。撰写本文时,最新的稳定版本是r1295。您可能需要更改版本号。去https://www.projectsend.org/#download查看最新版本。 可以运行以下命令将其下载到服务器上。 wget-O projectsend。拉链https://www.projectsend.org/download/387/ 下载后,使用解压功能提取归档文件。 sudo apt安装解压sudo mkdir-p/usr/share/nginx/projectsend/sudo解压projectsend。zip-d/usr/share/nginx/projectsend/ -d选项指定目标目录。ProjectSend web文件将被提取到/usr/share/nginx/ProjectSend/。然后,我们需要将该目录的所有者更改为www数据,以便web服务器(Nginx)可以写入该目录。 sudo chown www-data:www-data/usr/share/nginx/projectsend/-R 第2步:在MariaDB数据库服务器中为ProjectSend创建数据库和用户 使用以下命令登录MariaDB数据库服务器。由于MariaDB现在使用unix_socket插件来验证用户登录,因此无需输入MariaDB根密码。我们只需要在mysql命令前面加上sudo。 sudo mysql 然后为ProjectSend创建一个数据库。本教程将数据库命名为projectsend。你可以用任何你喜欢的名字。 创建数据库projectsend; 创建数据库用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。 创建用户projectsenduser@localhost由“您的密码”标识; 授予此用户在projectsend数据库上的所有权限。 授予projectsend的所有权限。*到projectsenduser@localhost; 刷新权限并退出。 同花顺特权;出口 第3步:配置ProjectSend 转到includes目录。 cd/usr/share/nginx/projectsend/includes/ 复制示例配置文件并将其重命名为sys。配置。php。 sudo cp系统。配置。样品php系统。配置。php 现在使用命令行文本编辑器(如Nano)编辑新的配置文件。 sudo nano sys。配置。php 找到以下几行,将红色文本替换为您在步骤2中创建的数据库名称、用户名和密码。 /**数据库名称*/define('DB_name','Database');/**数据库主机(大多数情况下是localhost)*/define('DB_host','localhost');/**数据库用户名(必须分配给数据库)*/define('DB_USER','username');/**数据库密码*/define('DB_password','password'); 保存并关闭文件。要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。接下来,按Ctrl+X退出。 步骤4:为ProjectSend创建Nginx配置文件 创建一个projectsend。conf文件位于/etc/nginx/conf.d/目录中,带有命令行文本编辑器,如Nano。 sudo nano/etc/nginx/conf.d/projectsend。形态 将以下文本复制并粘贴到文件中。替换projectsend。实例com与您自己的首选子域。不要忘记在DNS区域编辑器中为此子域创建DNS记录。如果你没有一个真正的域名,我建议你去买一个便宜的域名。价格低廉,而且他们终身免费为whois提供隐私保护。 服务器{listen 80;listen[:]:80;server_name projectsend.example.com;#添加头以服务安全相关头添加_头X-Content-Type-Options nosniff;添加_头X-XSS-Protection“1;mode=block”; 添加标题X-Robots-Tag none;添加标题X-Download-Options noopen;添加_头X-允许-跨域-无策略;添加标题推荐人策略无推荐人;#安装根目录的路径/usr/share/nginx/projectsend/;索引。php索引。html;访问u log/var/log/nginx/projectsend。通道错误u log/var/log/nginx/projectsend。错误位置=/机器人。txt{allow all;log_not_found off;access_log off;}地点~/。著名/极致挑战{allow all;}#设置最大上传大小客户端u最大u正文u大小512M;fastcgi_缓冲区64 4K;#禁用gzip以避免删除ETag头gzip off;#如果您的服务器是使用ngx_pagespeed模块构建的,请取消注释。该模块目前不受支持#页面速度关闭;错误_第403页/core/templates/403。php;错误_第404页/core/templates/404。php;位置/{try_files$uri$uri//index.php;}地点~/。php${include fastcgi_params;fastcgi_split_path_info^(.+/.php)(/.*)$; 试试_files$fastcgi_script_name=404;fastcgi_参数SCRIPT_FILENAME$document_root$fastcgi_SCRIPT_name;fastcgi_参数路径信息$fastcgi_路径信息#避免发送两次安全头fastcgi_param modHeadersAvailable true;fastcgi_参数前控制器_激活真;fastcgi_pass unix:/run/php/php7。4-fpm。短袜fastcgi_截获_错误开启;fastcgi_请求_缓冲关闭;}地点~*/。(?:svg | gif | png | html | ttf | woff | ico | jpg | jpeg)${try_files$uri/index.php$uri$is_args$args;#可选:不登录其他资产访问_注销;} 保存并关闭文件。(要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。要退出,请按Ctrl+X。) 然后测试Nginx配置。 sudo nginx-t 如果测试成功,请重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx 第5步:安装并启用PHP模块 运行以下命令安装ProjectSend所需或推荐的PHP模块。 sudo apt安装imagemagick php Imageick php7。4-常见php7。4-mysql php7。4-fpm php7。4-gd php7。4-json php7。4-卷曲php7。4-zip php7。4-XMLPHP7。4-Mb字符串php7。4-bz2 php7。4-intl php7。4-bcmath php7。4-gmp 第6步:启用HTTPS 现在,通过输入ProjectSend安装的域名,您可以在web浏览器中访问ProjectSend web安装向导。 projectsend。实例com/install/index。php 如果网页无法加载,您可能需要在防火墙中打开端口80。 sudo iptables-I输入-p tcp-dport 80-j接受 还有443端口。 sudo iptables-I输入-p tcp-dport 443-j接受 在输入任何敏感信息之前,我们应该在ProjectSend上启用安全的HTTPS连接。我们可以从Let's Encrypt获得免费的TLS证书。从Ubuntu20.04存储库安装Let's Encrypt client(certbot)。 sudo apt安装certbot python3 certbot nginx Python3 certbot nginx是nginx插件。接下来,运行以下命令,使用Nginx插件获取免费的TLS证书。 sudo certbot--nginx--agree tos--redirect--hsts--stype ocsp--email[email&#160;projectsend]受保护。实例通用域名格式 哪里: –nginx:使用nginx验证器和安装程序 –同意:同意让我们加密服务条款 –重定向:通过添加301重定向来强制HTTPS。 –hsts:启用HTTP严格的传输安全性。这可以抵御SSL/TLS剥离攻击。 –装订ocsp:启用ocsp装订。 –电子邮件:用于注册和恢复联系的电子邮件。 -d标志后面是域名列表,以逗号分隔。你最多可以添加100个域名。 你会被问到是否想收到来自EFF(电子前沿基金会)的电子邮件。选择Y或N后,将自动获取并为您配置TLS证书,如下消息所示。 第7步:在Web浏览器中完成安装 现在,您可以使用HTTPS连接访问ProjectSend web安装向导。 要完成安装,您需要给它一个站点名并创建一个管理员帐户。 单击安装按钮,您将能够登录到ProjectSend Web界面。 如何设置项目发送电子邮件通知 如果您的ProjectSend实例将由多人使用,则ProjectSend服务器可以发送事务性电子邮件,例如密码重置电子邮件,这一点很重要。转到选项-&gt;电子邮件通知。您将找到电子邮件服务器设置。有四种发送模式: PHP邮件(基础) SMTP Gmail 发送邮件 如果ProjectSend主机运行SMTP服务器,则可以选择sendmail模式。其他字段留空。 如果要使用在另一台主机上运行的SMTP服务器,请选择SMTP模式并输入SMTP服务器地址和登录凭据,如下所示。选择STARTTLS进行加密。 有关如何设置电子邮件服务器,请查看以下教程。请注意,我强烈建议在全新干净的操作系统上运行iRedMail邮件服务器。在具有其他web应用程序的操作系统上安装iRedMail可能会失败,并可能破坏现有的应用程序。 如何使用iRedMail在Ubuntu20.04上轻松设置功能齐全的邮件服务器 第8步:增加PHP内存限制 默认的PHP内存限制是128MB。ProjectSend建议512MB以获得更好的性能。要更改PHP内存限制,请编辑PHP。ini文件。 sudo nano/etc/php/7.4/fpm/php。伊尼 找到下面这行。(第409行) 内存限制=128M 更改值。 内存限制=512M 保存并关闭文件。或者,您可以运行以下命令来更改值,而无需手动打开文件。 sudo sed-i's/memory_limit=128M/memory_limit=512M/g'/etc/php/7.4/fpm/php。伊尼 然后重新加载PHP-FPM服务,使更改生效。 sudo systemctl重新加载php7。4-fpm 第9步:增加上传文件大小限制 Nginx设置的默认最大上传文件大小限制为1MB。要允许将大型文件上载到ProjectSend服务器,请编辑ProjectSend的Nginx配置文件。 sudo nano/etc/nginx/conf.d/projectsend。形态 我们已经在此文件中设置了最大文件大小,如所示 客户_max_body_尺寸512M; 如果你愿意,你可以改变它,比如1G。 客户最大尺寸为1024M; 保存并关闭文件。然后重新加载Nginx以使更改生效。 sudo systemctl重新加载nginx PHP还设置了上传文件大小的限制。上传的默认最大文件大小为2MB。要增加上传大小限制,请编辑PHP配置文件。 sudo nano/etc/php/7.4/fpm/php。伊尼 找到下面一行(第846行)。 上传最大文件大小=2M 更改值,如下所示: 上传最大文件大小=1024M 保存并关闭文件。或者,您可以运行以下命令来更改值,而无需手动打开文件。 sudo sed-i's/upload_max_filesize=2M/upload_max_filesize=1024M/g'/etc/php/7.4/fpm/php。伊尼 然后重启PHP-FPM。 sudo systemctl重启php7。4-fpm 添加本地DNS条目 建议在ProjectSend服务器上编辑/etc/hosts文件并添加以下条目,这样ProjectSend本身就不必查询公共DNS,这可以提高整体稳定性。如果您的ProjectSend服务器无法解析ProjectSend。实例com主机名,则可能会遇到504网关超时错误。 127.0.0.1 localhost projectsend。实例通用域名格式 /etc/hosts文件中的IP地址可以有多个主机名,因此如果在同一个框中安装了其他应用程序,也可以在同一行中添加其他主机名或子域,如下所示: 127.0.0.1 localhost focus ubuntu projectsend。实例com nextcloud。实例通用域名格式 故障排除提示 如果遇到错误,可以检查以下日志文件之一,以找出问题所在。 Nginx错误日志:/var/log/Nginx/error。日志 ProjectSend虚拟主机的Nginx错误日志:/var/log/Nginx/ProjectSend。错误 收尾 我希望本教程能帮助您在带有Nginx的Ubuntu 20.04服务器上安装ProjectSend。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.23 浏览:72