• 在Linux下使用命令查看服务器配置信息

    有许多命令可以用来查看 Linux 系统上的硬件信息。有些命令只能够打印出像 CPU 和内存这一特定的硬件组件信息,另外一些命令可以查看多种硬件组件的信息。这个教程可以带大家快速了解一下查看各种硬件设备的信息和配置详情的最常用的命令。 查看服务器型号 dmidecode | grep "System Information" -A9 | egrep "Manufacturer|Product" Manufacturer: Sugon Product Name: W580-G20 查看操作系统 cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.3.1611 (Core) Release: 7.3.1611 Codename: Core 查看CPU信息 cat /proc/cpuinfo lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 12 On-line CPU(s) list: 0-11 Thread(s) per core: 1 Core(s) per socket: 6 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel CPU family: 6 Model: 63 Model name: Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz Stepping: 2 CPU MHz: 1780.062 BogoMIPS: 3805.02 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 15360K NUMA node0 CPU(s): 0-5 NUMA node1 CPU(s): 6-11 查看CPU型号 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 12 Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz 查看逻辑CPU个数 cat /proc/cpuinfo |grep name |cut -d: -f2 |uniq -c cat /proc/cpuinfo| grep "processor"| wc -l 查看物理CPU个数 cat /proc/cpuinfo |grep "physical id" |sort -u |wc -l 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo | grep "cpu cores" | uniq cpu cores : 6 top命令 top后按1可以看到多少个CPU 查看磁盘信息 fdisk -l 查看内存的插槽数,已经使用多少插槽,每条内存多大 dmidecode | grep -A5 "Memory Device" | grep Size |grep -v Range Size: 32 GB Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: 32 GB Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: No Module Installed Size: No Module Installed 查看硬盘和分区分布 lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 558.9G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 557.9G 0 part ├─cl-root 253:0 0 50G 0 lvm / ├─cl-swap 253:1 0 31.4G 0 lvm [SWAP] └─cl-home 253:2 0 476.5G 0 lvm /home sr0 11:0 1 1024M 0 rom 查看网卡的硬件信息 lspci | grep -i 'eth'

    2021.12.21 浏览:1702
  • 如何在Ubuntu 18.04上设置Zimbra开源邮件服务器

    在Linux上从头开始设置自己的电子邮件服务器是一个漫长而乏味的过程,如果你不是高级用户,这将是一个痛苦的过程。本教程将向您展示如何使用Zimbra在Ubuntu18.04上快速设置一个功能齐全的邮件服务器,为您节省大量时间和麻烦。 Zimbra是什么? Zimbra是Synacor,Inc.开发的开源电子邮件、日历和协作软件套件。它附带一个shell脚本,可以自动在Linux服务器上安装和配置所有必要的邮件服务器组件,从而消除手动安装和配置。使用Zimbra,您可以轻松地在基于web的管理面板中创建无限邮箱和无限邮件域。电子邮件帐户可以在MariaDB或OpenLDAP中管理。以下是Zimbra将自动安装和配置的开源软件列表。 后缀SMTP服务器 Nginx web服务器为管理控制台和webmail提供服务。它还将用作IMAP/POP3代理。 Jetty:运行Zimbra软件的web应用服务器。 OpenLDAP存储Zimbra系统配置、Zimbra全局地址列表,并提供用户身份验证。 MariaDB数据库 OpenDKIM:用于DKIM签名和验证 一个新的:MTA和内容扫描程序之间的接口。 SpamAssassin用于反垃圾邮件 ClamAV:反病毒扫描仪 Lucene:开源全功能文本和搜索引擎 ApacheJSieve:电子邮件过滤器 LibreOffice:高保真文档预览 Aspell:Zimbra Web客户端上使用的开源拼写检查器 memcached:开源对象缓存系统。 未绑定:轻量级快速DNS解析程序。 Zimbra还附带了一些自己开发的软件: zimbra drive:云存储。 zimbra聊天:文本聊天。 zimbra talk:具有屏幕共享和文件共享功能的群信息和视频会议。 mailboxd:它自己开发的IMAP/POP3服务器。 Zimbra有两个版本: 免费开源版。 商业支持的网络版,60天免费试用。 一些著名的Zimbra用户包括:Mozilla、Skype、O'Reilly Media、斯坦福大学和康卡斯特。在本文中,我们将使用开源版本(OSE)。 服务器要求 全新的Ubuntu 18.04操作系统。 至少2个CPU核和3GB RAM。如果使用单核CPU,Zimbra的运行速度会非常慢。你需要一台至少有3GB内存的服务器,因为安装后,你的服务器将使用超过2GB的内存。 第一步:选择合适的主机提供商并购买域名 Zimbra必须安装在干净干净的服务器上。 本教程是在每月9美元的Kamatera VPS(虚拟专用服务器)上完成的,该服务器具有1个CPU和3GB RAM。他们提供30天的免费试用期。 Kamatera是运行邮件服务器的一个非常好的选择,因为 它们不会阻止端口25,因此您可以发送无限量的电子邮件(事务性电子邮件和时事通讯),而无需在SMTP中继服务上花钱。Kamatera没有任何SMTP限制。你每天可以发送一百万封电子邮件。 IP地址不在任何电子邮件黑名单上。(至少对我来说是这样。我选择了达拉斯数据中心。)你肯定不想被列入可怕的微软Outlook IP黑名单或spamrats黑名单。有些黑名单会屏蔽整个IP范围,你无法从此类黑名单中删除你的IP地址。 您可以编辑PTR记录以提高电子邮件的可交付性。 它们允许你向你的电子邮件订阅者发送时事通讯,而不受每小时或每天的限制。 您可以为一台服务器订购多个IP地址。这对需要发送大量电子邮件的人非常有用。您可以在多个IP地址上传播电子邮件流量,以实现更好的电子邮件交付。 其他VPS提供商,如DigitalOcean阻止了端口25。DigitalOcean不会解锁端口25,因此您需要设置SMTP中继以绕过阻止,这可能会增加您的费用。如果您使用Vultr VPS,则默认情况下端口25被阻止。如果您打开支持票证,他们可以解除阻止,但如果他们决定不允许您的电子邮件发送活动,他们可能会在任何时候再次阻止。如果你使用他们的服务器发送时事通讯,Vultr实际上可能会重新阻止它。 转到Kamatera网站创建帐户,然后在帐户仪表板中创建服务器。 我建议遵循下面链接的教程,在Kamatera上正确设置Linux VPS服务器。 如何在Kamatera上创建Linux VPS服务器 创建服务器后,Kamatera将向您发送一封包含服务器SSH登录详细信息的电子邮件。要登录到服务器,可以使用SSH客户端。如果您在计算机上使用Linux或macOS,只需打开一个终端窗口并运行以下命令即可登录服务器。将12.34.56.78替换为服务器的IP地址。 ssh [email protected] 系统将要求您输入密码。 强烈建议您使用UbuntuLTS,比如Ubuntu18.04。不鼓励在非LTS Ubuntu上安装Zimbra这样的复杂服务器软件,因为每9个月升级一次操作系统可能会遇到问题。对于你的邮件服务器来说,保持2到5年的稳定状态要好得多。 你还需要一个域名。我从namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。 第2步:创建DNS MX记录 MX记录指定哪个或多个主机处理特定域名的电子邮件。例如,为linuxbabe处理电子邮件的主机。com是邮件。利努克斯宝贝。通用域名格式。如果拥有Gmail账户的人向[email protected]发送电子邮件,Gmail服务器将查询linuxbabe的MX记录。通用域名格式。当它发现那封邮件。利努克斯宝贝。com负责接收电子邮件,然后查询邮件记录。利努克斯宝贝。com获取IP地址,从而可以发送电子邮件。 你需要去你的DNS托管服务(通常是你的域名注册)创建DNS记录。在DNS管理器中,为域名创建MX记录。在名称字段中输入@代表主域名,然后输入mail。你的领域。com在值字段中。 注意:MX记录的主机名不能是其他名称的别名。此外,强烈建议您使用主机名,而不是MX记录的裸IP地址。 DNS管理员可能会要求您输入首选项值(也称为优先级值)。它可以是0到65356之间的任何数字。小数字的优先级高于大数字。建议将该值设置为0,以便此邮件服务器具有接收电子邮件的最高优先级。创建MX记录后,还需要为邮件创建一个记录。你的领域。com,以便将其解析为IP地址。如果您的服务器使用IPv6地址,请确保添加AAAA记录。 提示:如果使用Cloudflare DNS服务,则在创建邮件记录时不应启用CDN功能。你的领域。通用域名格式。Cloudflare不支持SMTP代理。 第3步:配置主机名 通过SSH登录服务器,然后运行以下命令更新现有软件包。 sudo apt update sudo apt upgrade -y 我强烈建议创建一个sudo用户来管理服务器,而不是使用默认的root用户。运行以下命令创建用户。将用户名替换为首选用户名。 adduser username 然后将用户添加到sudo组。 adduser username sudo 切换到新用户。 su - username 接下来,使用以下命令为服务器设置完全限定的域名(FQDN)。 sudo hostnamectl set-hostname mail.your-domain.com 我们还需要使用命令行文本编辑器(如Nano)更新/etc/hosts文件。 sudo nano /etc/hosts 像下面那样编辑它。使用箭头键在文件中移动光标。必须将邮件服务器主机名放在localhost之后。 127.0.0.1 localhost.localdomain localhost mail.your-domain.com 保存并关闭文件。(要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。要关闭文件,请按Ctrl+X。) 要查看更改,请重新登录,然后运行以下命令查看主机名。 hostname -f 第4步:在Ubuntu 18.04上安装Zimbra邮件服务器 Zimbra 9仍然提供开源版本。但是,它不提供二进制文件。只有源代码可用。幸运的是,有一家名为Zextras的第三方Zimbra解决方案提供商提供Zimbra二进制下载。 你可以登录Zextras网站,填写表格,获得Zimbra 9二进制下载链接。如果不想填写表单,请在服务器上运行以下命令下载Zimbra 9安装程序。 wget download.zextras.com/zcs-9.0.0_OSE_UBUNTU18_latest-zextras.tgz 提取存档文件。 tar xvf zcs-9.*.tgz 然后切换到新创建的目录。 cd zcs-9*/ 在运行安装程序脚本之前,请安装netstat实用程序。 sudo apt install net-tools 接下来,使用sudo权限运行Bash脚本。 sudo bash install.sh 邮件服务器安装向导将出现。首先,您需要同意软件许可协议的条款。 然后键入y确认您想要使用Zimbra的包存储库。 接下来,它将要求您选择要安装的软件包。您可以按y键安装它们。(y是大写的,这意味着当您按Enter键时,这是默认答案。)请注意,zimbra imapd软件包目前处于测试阶段,不建议安装。我只需按Enter键即可使用默认答案。 按y确认您选择的包裹。 现在开始安装。 它可能会告诉您需要更改主机名。回答y并输入邮件服务器主机名(mail.your domain.com)。 它还可能会告诉你需要更改域名。本教程假设您需要[email protected]这样的电子邮件地址。在这种情况下,键入Y,然后输入您的域。com在这里,没有子域。 如果它告诉您没有一条MX记录解析到此主机,那么您需要为邮件创建DNS记录。你的领域。通用域名格式。 如果检测到zimbra dnscache(端口53)存在端口冲突,则需要打开另一个SSH会话,并运行以下命令来停止systemd已解决的服务。 sudo systemctl stop systemd-resolved 然后继续安装。 然后显示主菜单。它告诉你管理员密码没有设置,所以你需要按7,然后按4来设置管理员密码。 为管理员帐户设置密码后,按r返回主菜单,然后按以下键。 按a键应用配置。 按y键将配置保存到文件中。 按Enter键使用默认文件名。 按y键继续。 等待安装过程完成。在安装结束时,您可以选择通知Zimbra您的安装。 配置完成后,按Enter键退出安装向导。现在,您可以访问基于web的管理面板https://mail.your-domain.com.因为它使用的是自签名的TLS证书,所以需要在web浏览器中添加安全异常。在第7步中,您将了解如何安装有效的Let's Encrypt TLS证书。 第5步:配置系统 Systemd resolved是Ubuntu上默认的DNS解析程序管理器。我们需要改变它的配置,使其与Zimbra一起工作。它应该在系统启动时在Zimbra服务之后启动。 systemd的服务配置文件已解析为/lib/systemd/system/systemd resolved。服务为了覆盖默认的systemd服务配置,我们创建了一个单独的目录。 sudo mkdir -p /etc/systemd/system/systemd-resolved.service.d/ 然后在这个目录下创建一个文件。 sudo nano /etc/systemd/system/systemd-resolved.service.d/custom.conf 在文件中添加以下行,这将使systemd resolved在Zimbra启动后启动,并使其在启动前休眠60秒。 [Unit] After=zimbra.service Before= [Service] ExecStartPre=/bin/sleep 60 保存并关闭文件。然后重新加载systemd以使更改生效。 sudo systemctl daemon-reload 步骤6:测试未绑定的DNS解析程序 未绑定DNS解析程序由Zimbra安装。然而,它可能无法开箱即用。重新启动服务器。 sudo shutdown -r now 然后通过SSH再次登录到服务器,并运行以下命令来测试DNS解析是否有效。 dig A linuxbabe.com 如果您看到SERVFAIL错误,这意味着Unbound没有正常运行。 要修复它,请切换到zimbra用户。 sudo su - zimbra 并检查未绑定的上游DNS解析程序正在使用哪个。 zmprov getServer `zmhostname` | grep DNSMasterIP 正确的设置应该会显示8.8.8.8是上游DNS解析程序。 zimbraDNSMasterIP: 8.8.8.8 如果127.0.0.53是上游解析器,则会出现问题。用以下方法将其移除: zmprov ms `zmhostname` -zimbraDNSMasterIP 127.0.0.53 然后添加8.8.8.8作为上游分解器。 zmprov ms `zmhostname` +zimbraDNSMasterIP 8.8.8.8 现在退出zimbra用户 exit 请稍等片刻,然后再次运行以下命令进行测试。 dig A linuxbabe.com 您应该看到以下输出,这意味着它现在工作正常。 如果运行以下命令以显示服务器正在使用的DNS解析程序, cat /etc/resolv.conf 它告诉你 /etc/resolv.conf: No such file or directory 检查系统故障是否已解决。服务正在运行。 sudo systemctl status systemd-resolved 运行以下命令以确保它将在引导时自动启动。 sudo systemctl enable --now systemd-resolved 第7步:安装Let's Encrypt TLS证书 由于邮件服务器正在使用自签名TLS证书,桌面邮件客户端用户和webmail客户端用户都将看到警告。为了解决这个问题,我们可以获得并安装免费的Let's Encrypt TLS证书。 获取证书 首先,运行以下命令从Snap store安装最新的Let's Encrypt(certbot)客户端。 sudo snap install certbot --classic Zimbra已经在Nginx中配置了TLS设置,我们可以使用独立插件通过TCP端口80获得证书。运行以下命令。用实际数据替换红色文本。 sudo /snap/bin/certbot certonly --standalone --agree-tos --staple-ocsp --email [email protected] -d mail.your-domain.com --preferred-chain 'ISRG Root X1' certonly:获取证书,但不要自动安装。 --standalone:使用standalone插件获取证书。 -首选链“ISRG根X1”:使用ISRG根X1证书链,因为默认的DST根CA证书在2021年9月31日到期。 当它询问您是否希望接收EFF的通信时,您可以选择否。 如果一切顺利,您将看到以下文本,表明您已成功获得TLS证书。您的证书和链已保存在/etc/letsencrypt/live/mail。你的领域。com/directory。 未能获得TLS证书 如果certbot无法获得TLS证书,可能是因为您的DNS记录没有传播到Internet。根据您使用的域注册器,您的DNS记录可能会立即传播,或者传播可能需要24小时。你可以去https://dnsmap.io,输入邮件服务器的主机名(mail.your domain.com)以检查DNS传播。 在Zimbra中安装证书 获得TLS证书后,让我们配置Zimbra以使用它。授予zimbra用户权限,使其可以读取Let's Encrypt文件。 sudo apt install acl sudo setfacl -R -m u:zimbra:rwx /etc/letsencrypt/ 切换到zimbra用户。 sudo su - zimbra 复制私钥。 cp /etc/letsencrypt/live/mail.your-domain.com/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key 下载让我们加密根CA证书。 wget -O /tmp/isrgrootx1.pem https://letsencrypt.org/certs/isrgrootx1.pem.txt 创建一个证书链。以下命令将根CA证书(isrgrotx1.pem)置于中间CA证书(chain.pem)之下。你不应该颠倒顺序,否则就行不通了。 cat /etc/letsencrypt/live/mail.your-domain.com/chain.pem /tmp/isrgrootx1.pem > /opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt 部署证书。 /opt/zimbra/bin/zmcertmgr deploycrt comm /etc/letsencrypt/live/mail.your-domain.com/cert.pem /opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt 查看已部署的证书。 /opt/zimbra/bin/zmcertmgr viewdeployedcrt 重新启动Zimbra。 zmcontrol restart 以zimbra用户身份运行以下命令,检查是否所有zimbra服务都在运行。 zmcontrol status 如果一切正常,它应该会显示出来 故障排除 错误的主机名 如果zmcontrol status命令显示localhost。localdomain主机名,然后需要将主机名更改为mail。你的领域。通用域名格式。 /opt/zimbra/libexec/zmsetservername -n mail.your-domain.com 然后删除localhost。本地域。 zmloggerhostmap -d localhost.localdomain localhost.localdomain OpenLDAP失败 如果OpenLDAP无法重新启动,它会说 Unable to start TLS: SSL connect attempt failed error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed when connecting to ldap master. 然后可以使用以下两个命令禁用OpenLDAP上的TLS。有些人可能想知道在OpenLDAP上禁用TLS是否安全。这是安全的,因为LDAP连接只在邮件服务器本身上建立。无法从另一台主机建立LDAP连接。 zmlocalconfig -e ldap_starttls_required=false zmlocalconfig -e ldap_starttls_supported=0 然后重启Zimbra服务。 zmcontrol restart 提示:如果您已经按照前面的说明成功地在Zimbra中部署了Let's Encrypt TLS certificate,那么您的OpenLDAP服务器在启动TLS时应该没有问题。 阿玛维斯失败 如果Amavis未运行,请使用以下命令重新启动它: zmamavisdctl restart 如果重启失败,应该检查Zimbra日志文件(/var/log/Zimbra.log)。例如,我在这个文件中有以下错误消息。 Ignoring stale PID file /opt/zimbra/log/amavisd.pid, older than system uptime 0 0:01:00 Pid_file already exists for running process (3340) 所以我需要删除陈旧的PID文件。 rm /opt/zimbra/log/amavisd.pid 然后重启Amavis。 zmamavisdctl restart 减少CPU和;内存使用 尽可能避免使用zmcontrol restart命令,因为它会向管理员帐户生成许多报告电子邮件。每封邮件都会调用ClamAV进行病毒扫描。ClamAV是一个资源猪。如果需要启动/停止单个Zimbra服务,请使用特定工具来完成任务。 zopendkimctl:OpenDKIM。 zmamavisdctl:Amavis zmantispamctl:反垃圾邮件 zmdnscachectl:未绑定的DNS解析程序。 ZMTL:反病毒 zmmtactl:后缀SMTP服务器 zmspellctl:拼写检查 zmzimletctl:Zimlet webapp zmmailboxdctl:mailboxd zmstatctl:stats zmconfigdctl:zmconfigd zmmcachedctl:memcached zmloggerctl:记录器 为了减少Amavis和ClamAV对CPU和RAM的使用,以zimbra用户的身份运行以下两个命令。 zmprov ms `zmhostname` zimbraAmavisMaxServers 1 zmprov ms `zmhostname` zimbraClamAVMaxThreads 1 这将使Amavis和ClamAV只使用一个线程来处理电子邮件。(默认值为10)如果您有4核CPU和16 GB RAM,则可以增加线程数以加快电子邮件处理速度。 第9步:发送测试电子邮件 现在,您可以再次访问Zimbra web客户端。您的web浏览器将不再向您发出警告,因为Nginx现在使用的是有效的TLS证书。 使用管理员帐户([email protected])登录Zimbra web客户端,您可以测试电子邮件的发送和接收。 Zimbra有一个内置日历。 您可以登录管理控制台,可以从右上角的下拉菜单访问该控制台。或者你可以通过https://mail.your-domain.com:7071/zimbraAdmin/. 单击添加帐户链接添加新的电子邮件地址。 步骤10:检查端口25(出站)是否被阻止 您的ISP或主机服务提供商不会阻止与服务器端口25的传入连接,这意味着您可以接收来自其他邮件服务器的电子邮件。然而,许多ISP/主机提供商会阻止与其他邮件服务器端口25的传出连接,这意味着您无法发送电子邮件。 提示:如果使用Kamatera VPS,则出站端口25默认打开。 如果你的电子邮件没有到达你的其他电子邮件地址,比如Gmail,那么在你的邮件服务器上运行以下命令,检查端口25(出站)是否被阻止。 telnet gmail-smtp-in.l.google.com 25 如果未被阻止,您将看到如下消息,这表明已成功建立连接。(提示:输入quit并按Enter键关闭连接。) Trying 74.125.68.26... Connected to gmail-smtp-in.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp 如果端口25(出站)被阻止,您将看到如下情况: Trying 2607:f8b0:400e:c06::1a... Trying 74.125.195.27... telnet: Unable to connect to remote host: Connection timed out 在这种情况下,您的Postfix无法向其他SMTP服务器发送电子邮件。请您的ISP/主机提供商为您打开它。如果他们拒绝您的请求,您需要设置SMTP中继以绕过端口25阻塞。 还是不能发邮件? 如果端口25(出站)未被阻止,但您仍然无法从自己的邮件服务器向Gmail等其他电子邮件地址发送电子邮件,那么您应该检查邮件日志(/var/log/mail.log)。 sudo tail -n 30 /var/log/mail.log 例如,有些人可能会看到错误消息。 host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 for more information 这意味着您的邮件服务器正在使用IPv6发送电子邮件,但您没有设置IPv6记录。你应该去你的DNS管理员那里,为邮件设置AAAA记录。你的领域。com,那么您应该为IPv6地址设置PTR记录,这将在步骤9中讨论。 步骤11:从邮件客户端登录 启动你的桌面电子邮件客户端,比如Mozilla Thunderbird,并添加一个邮件帐户。 在“传入服务器”部分,选择IMAP协议,输入mail。你的领域。com作为服务器名,选择端口143和STARTTLS。选择普通密码作为身份验证方法。 在“发送”部分,选择SMTP协议,输入mail。你的领域。com作为服务器名,选择端口587和STARTTLS。选择普通密码作为身份验证方法。 第12步:提高电子邮件交付能力 为了防止您的电子邮件被标记为垃圾邮件,您应该设置PTR、SPF、DKIM和DMARC记录。 PTR记录 指针记录或PTR记录将IP地址映射到FQDN(完全限定域名)。它与A记录相对应,用于反向DNS查找,这有助于阻止垃圾邮件发送者。如果没有找到发送服务器的PTR记录,许多SMTP服务器会拒绝电子邮件。 要检查PTR记录中的IP地址,请运行以下命令: dig -x IP-address +short 或 host IP-address PTR记录不由您的域注册器管理。它由提供IP地址的组织管理。因为您从主机提供商或ISP获得IP地址,而不是从域注册商获得,所以您必须在主机提供商的控制面板中为您的IP设置PTR记录,或者询问ISP。它的值应该是邮件服务器的主机名:mail。你的领域。通用域名格式。如果您的服务器使用IPv6地址,请确保也为您的IPv6地址添加PTR记录。 要编辑Kamatera VP的反向DNS记录,请登录Kamatera客户端区域,然后打开支持票证,告诉他们为服务器IP地址添加PTR记录,以将IP地址指向邮件。你的领域。通用域名格式。你可能会想,这并不方便,但这是为了让垃圾邮件发送者远离平台,因此像我们这样的合法电子邮件发送者将拥有良好的IP声誉。 SPF记录 SPF(发件人策略框架)记录指定允许哪些主机或IP地址代表域发送电子邮件。您应该只允许您自己的电子邮件服务器或ISP的服务器为您的域发送电子邮件。在DNS管理界面中,创建一个新的TXT记录,如下所示。 说明: TXT表示这是一条TXT记录。 在名称字段中输入@代表主域名。 v=spf1表示这是一条SPF记录,版本为spf1。 mx意味着mx记录中列出的所有主机都被允许为您的域发送电子邮件,而所有其他主机都被禁止。 ~all表示来自您域的电子邮件应该只来自SPF记录中指定的主机。来自其他主机的电子邮件将被标记为伪造。 要检查您的SPF记录是否传播到公共互联网,您可以在Linux邮件服务器上使用dig实用程序,如下所示: dig your-domain.com txt txt选项告诉dig我们只想查询txt记录。 DKIM记录 DKIM(DomainKeys Identified Mail)使用私钥对从您的域发送的电子邮件进行数字签名。接收SMTP服务器使用在DNS DKIM记录中发布的公钥验证签名。 运行以下命令在Zimbra邮件服务器上生成DKIM密钥。 /opt/zimbra/libexec/zmdkimkeyutil -a -d your-domain.com DKIM公钥在括号中。我的DKIM选择器是F9421034-2BCF-11EC-80AF-728BCB6E6C77。DKIM子域是F9421034-2BCF-11EC-80AF-728BCB6E6C77_域名。利努克斯宝贝。通用域名格式。你的可能不一样。 然后在DNS管理器中,创建一个TXT记录,输入F9421034-2BCF-11EC-80AF-728BCB6E6C77_名称字段中的domainkey。(您的DKIM子域可能不同。)复制括号中的所有内容,并将其粘贴到值字段中。删除所有双引号和换行符。 请注意,您的DKIM记录可能需要一些时间才能传播到Internet。根据您使用的域注册器,您的DNS记录可能会立即传播,或者传播可能需要24小时。你可以去https://www.dmarcanalyzer.com/dkim/dkim-check/检查您的DKIM记录是否有效。 DMARC记录 DMARC代表基于域的消息身份验证、报告和一致性。DMARC可以帮助接收电子邮件服务器识别合法电子邮件,并防止电子邮件欺骗使用您的域名。 要创建DMARC记录,请转到DNS管理器并添加TXT记录。在名称字段中,输入_dmarc。在“值”字段中,输入以下内容。(您应该创建[email protected]电子邮件地址。) v=DMARC1; p=none; pct=100; rua=mailto:[email protected] 上述DMARC记录是一个安全的起点。如果你想阅读DMARC的完整解释,请查看以下文章。请注意,这是可选的。 创建DMARC记录以保护您的域名免受电子邮件欺骗 第13步:测试电子邮件分数和位置 创建PTR、SPF、DKIM记录后,转到https://www.mail-tester.com.你会看到一个独特的电子邮件地址。从你的域名发送电子邮件到此地址,然后检查你的分数。如你所见,我得了满分。在测试结果中,您应该检查您的PTR记录、SPF和DKIM记录是否有效。 邮件测试员。com只能显示发件人分数。还有另一个名为GlockApps的服务,可以让你检查你的电子邮件是否被放在收件人的收件箱或垃圾邮件文件夹中,或者被直接拒绝。它支持许多流行的电子邮件提供商,如Gmail、Outlook、Hotmail、YahooMail、iCloud mail等。 如果你的电子邮件仍被标记为垃圾邮件呢? 在这篇文章中,我有更多提示:如何阻止你的电子邮件被标记为垃圾邮件。虽然这需要一些时间和精力,但在应用这些技巧后,你的电子邮件最终会被放入收件箱。 如果您的电子邮件被Microsoft邮箱拒绝怎么办? 微软似乎正在使用一个内部黑名单来屏蔽许多合法的IP地址。如果您的电子邮件被Outlook或Hotmail拒绝,您需要提交发件人信息表。之后,Outlook/Hotmail将接受您的电子邮件。 故障排除 首先,请使用至少4GB内存的VPS。在2GB RAM VPS上运行Zimbra会导致数据库、SpamAssassin或ClamAV因内存不足而被杀死。如果你真的想使用2GB内存VPS,你会丢失收到的电子邮件,并有其他不良后果。 根据经验,您应该始终检查邮件日志/var/log/mail。当出现电子邮件发送问题时,请登录。 HTTP错误502 如果无法访问Zimbra web界面,例如502网关错误,则服务器可能需要更多RAM。 您还可以尝试重新启动所有Zimbra服务来解决此问题。 以zimbra用户身份运行以下命令,检查是否所有zimbra服务都在运行。 zmcontrol status 如果启用了防火墙,则应在防火墙中打开以下端口。 HTTP port: 80 HTTPS port: 443 SMTP port: 25 Submission port: 587 SMTPS port: 465 (For Microsoft Outlook mail client) IMAP port: 143 and 993 如果你想使用UFW防火墙,请查看我的指南:Debian和Ubuntu上的UFW防火墙入门。 如何更新TLS证书 让我们加密颁发的TLS证书仅在90天内有效,设置Cron作业以自动续订证书非常重要。您可以运行以下命令来续订证书。 sudo certbot renew 您可以使用--dry run选项来测试更新过程,而不是进行真正的更新。 sudo /snap/bin/certbot renew --dry-run 创建Cron作业 如果试运行成功,您可以创建Cron作业来自动续订证书。只需打开root用户的crontab文件。 sudo crontab -e 然后在文件底部添加以下行。 @daily /snap/bin/certbot renew --quiet 保存并关闭文件。 设置备份邮件服务器 主邮件服务器有时可能会关闭。如果您将邮件服务器托管在数据中心,那么停机时间非常短,因此您不必担心丢失入站邮件。如果您在家中托管邮件服务器,则无法预测停机时间,因此在数据中心运行备份邮件服务器是一种很好的做法,以防止丢失入站邮件。备份邮件服务器只需要512MB内存即可运行。请在下面的文章中查看全部细节。 如何在Ubuntu上设置带有后缀的备份电子邮件服务器(完整指南) 为你的网站设置SMTP 如果您的网站和邮件服务器运行在两个不同的VP(虚拟专用服务器)上,您可以在网站和邮件服务器之间设置SMTP中继,以便您的网站可以通过邮件服务器发送电子邮件。请参阅下面的文章。 如何在Ubuntu上的两个Postfix SMTP服务器之间设置SMTP中继 收尾 就这样!我希望本教程能帮助你在Ubuntu18.04上用Zimbra安装邮件服务器。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.24 浏览:514
  • Linux安全:在CentOS/Redhat上禁用Root SSH登录

    为什么要禁用根ssh登录?因为每个Linux服务器都有一个root用户。如果您允许root用户使用ssh登录,黑客可能会试图强行使用您的root密码。但如果您创建另一个用户并禁用根ssh登录,黑客就不知道您的用户名,所以暴力攻击是无用的。新包装的用户可以使用sudo或su进行系统管理。 本教程将向您展示如何创建可以使用su或sudo的用户帐户,以及如何在CentOS/Redhat上禁用root ssh登录。 创建一个新的用户帐户 1.使用以下命令创建用户帐户。在本例中,我将使用用户名newuser。adduser命令将创建用户、初始组及其主目录。 adduser newuser 2.为用户设置密码。你必须输入两次密码。 passwd newuser 3.现在验证您可以使用新用户帐户通过ssh登录。默认情况下,新创建的用户可以使用su命令切换到root。 [[email protected] ~]$ su - Password: [[email protected] ~]$ whoami root 如果由于某种原因无法使用su命令,请将用户添加到控制盘组。 usermod -G wheel newuser 4.但它不能使用sudo命令。如果希望用户帐户使用sudo命令,请以root用户身份执行以下命令: yum install sudo echo 'newuser ALL=(ALL) ALL' >> /etc/sudoers 5.现在验证用户帐户是否可以使用sudo命令。 禁用根用户的SSH登录 现在您有了一个单独的用户帐户,可以使用su或sudo来获得root权限,是时候禁用root ssh登录了。首先用你最喜欢的文本编辑器编辑/etc/ssh/sshd_配置文件。我喜欢使用vi编辑器。 vi /etc/ssh/sshd_config 找到以下行: #PermitRootLogin yes 将其更改为: PermitRootLogin no 保存文件。现在,检查您的新用户帐户是否可以通过ssh登录非常重要,因为我们将重新启动ssh服务,之后您将无法再通过ssh以root用户身份登录。 systemctl restart ssh 现在只有新用户帐户可以通过ssh登录。如果您尝试以root用户身份ssh登录,即使您键入的密码正确,您仍然会收到一个“权限拒绝”错误。

    2022.03.24 浏览:124
  • 如何在Kamatera上创建Linux VPS服务器

    本文将解释如何在Kamatera上创建一个Linux VPS(虚拟专用服务器),以便您可以运行自己的电子邮件服务器和网站。 ScalaHosting vs Kamatera 在上一个教程中,我解释了如何在ScalaHost上创建Linux VPS服务器,这是我推荐的运行电子邮件服务器的托管提供商,因为它拥有最好的IP声誉。然而,ScalaHost计划的起价是每月26美元(2个CPU,8GB RAM)。这对一些人来说有点贵,因为他们不需要那么多内存就可以开始。 如果您的业务依赖于电子邮件,我仍然建议您使用ScalaHost,因为它将为您提供更好的电子邮件交付能力。如果你缺钱,那么你可以选择Kamatera VPS主机,起价为每月4美元(1个CPU,1GB RAM),你将获得一个月的免费服务。 我在两个主机提供商上都有电子邮件服务器,我将与您分享我在Kamatera的经验。 为什么要运行自己的电子邮件服务器 有像Google Workspace和Microsoft Exchange Online这样的托管电子邮件解决方案,但当你有很多用户时,它们会变得非常昂贵。如果你在VPS上运行自托管电子邮件服务器,你可以添加无限的用户、无限的域,并以非常低的价格发送无限的电子邮件。 您可以轻松地使用iRedMail设置邮件服务器。 如何使用iRedMail在Ubuntu20.04上轻松设置自己的邮件服务器 如何使用iRedMail在Debian 10上轻松设置自己的邮件服务器 如何使用iRedMail在CentOS 8上轻松设置自己的邮件服务器 你可以在你的电子邮件服务器上安装一个像Mautic这样的自托管电子邮件营销平台,这样你就可以取消Mailchimp/Aeber订阅,每月节省数百美元。 为电子邮件查找VPS 要找到一个适合电子邮件托管的VPS提供商并非易事。许多托管公司,如DigitalOcean blocks port 25。DigitalOcean不会解锁端口25,因此您需要设置SMTP中继以绕过阻止,这可能会增加您的费用。另一个问题是,像DigitalOcean这样的大型知名主机提供商被垃圾邮件发送者滥用。通常,服务器IP地址在几个黑名单上。 Kamatera是运行邮件服务器的一个非常好的选择,因为 他们不封锁25号端口。 IP地址不在任何电子邮件黑名单上。(至少对我来说是这样。我选择了达拉斯数据中心。)你肯定不想被列入可怕的微软Outlook IP黑名单或spamrats黑名单。有些黑名单会屏蔽整个IP范围,你无法从此类黑名单中删除你的IP地址。 您可以编辑PTR记录以提高电子邮件的可交付性。 它们允许你向你的电子邮件订阅者发送时事通讯,而不受每小时或每天的限制。请注意,您不允许发送垃圾邮件,也称为未经请求的批量电子邮件。如果收件人没有明确允许你发送电子邮件,而你向他们发送电子邮件,那就是未经请求的电子邮件。 您可以为一台服务器订购多个IP地址。这对需要发送大量电子邮件的人非常有用。您可以在多个IP地址上传播电子邮件流量,以实现更好的电子邮件交付。 从下面的截图可以看出,我的邮件服务器(smtp01.linuxbabe.com)的IP地址(63.250.61.81)不在任何黑名单上。 如何在Kamatera上创建Linux VPS服务器 转到Kamatera网站,点击“免费入门”按钮创建帐户。 您需要验证您的电子邮件地址。 接下来,您需要添加一个账单配置文件。 输入您的地址和电话号码。 然后添加你的手机号码进行两步验证。 确认您的电话号码后,进入下一步,输入您的信用卡信息。系统会自动添加促销代码(1个月300),为您提供一个月的免费使用(最高100美元)。 现在您的账单配置文件已添加,请转到我的云->创建新服务器以添加新服务器。选择您的服务器位置、操作系统映像(Ubuntu、Debian、Linux等)和服务器类型。 对于电子邮件服务器,我推荐以下规格,每月9美元。如果要运行功能齐全的电子邮件服务器,需要3 GB的RAM。如果你需要一个简单的电子邮件服务器,那么2GB内存就可以了。 服务器类型:可用性 CPU:1核 内存:3GB SSD:20GB 接下来,为VPS设置一个根密码,并给它一个主机名。 最后,单击创建服务器按钮。请注意,您不会立即收到账单。你可以免费使用服务器一个月。创建服务器可能需要几分钟的时间。您可以在任务队列中检查进度。 创建服务器后,您将收到一封电子邮件通知。您可以通过SSH登录到服务器。如果你在桌面电脑上使用Linux,你可以打开一个终端窗口,运行以下命令登录到你的服务器。将12.34.56.78替换为服务器的IP地址。然后输入根密码。 ssh [email protected]12.34.56.78 恭喜!现在你可以开始你的Linux服务器项目了。如果您使用的是Windows,请阅读下面关于如何使用SSH客户端的文章。 在Windows上使用SSH登录Linux服务器的3种方法 创建sudo用户 我强烈建议创建一个sudo用户来管理服务器,而不是使用默认的root用户。它不仅提高了服务器的安全性,还允许您在无法以root用户身份登录时以新用户身份登录。 Debian/Ubuntu 如果您在服务器上安装了Debian或Ubuntu,请运行以下命令创建用户。 adduser username 然后将用户添加到sudo组。 adduser username sudo 现在可以从root用户退出。 exit 并以新用户身份登录。 ssh username@12.34.56.78 CentOS/Linux 如果在服务器上安装了CentOS/Linux,请运行以下命令创建用户。将用户名替换为首选用户名。 adduser username 设置此用户的密码。 passwd username 将此用户添加到控制盘组以使用sudo。 gpasswd -a username wheel 确保已安装sudo实用程序。 dnf install sudo 现在可以从root用户退出。 exit 并以新用户身份登录。 ssh username@12.34.56.78 远离垃圾邮件文件夹的提示 我强烈建议遵循电子邮件发送的最佳实践,这样你的电子邮件就可以进入收件箱,远离垃圾邮件文件夹。 7个有效的建议来阻止你的邮件被标记为垃圾邮件 为Kamatera VPS创建PTR记录 Kamatera不允许您在控制面板中编辑PTR记录。相反,你需要打开一张支持票,告诉他们为你添加PTR记录。你可能会想,这并不方便,但这是为了让垃圾邮件发送者远离平台,因此像我们这样的合法电子邮件发送者将拥有良好的IP声誉。 基于Web的VNC控制台 Kamatera在帐户控制面板中提供了一个基于web的VNC控制台。此VNC连接不受SSH影响。如果您不小心将自己锁定在SSH服务之外,您可以始终使用VNC控制台来修复SSH服务中的错误。请注意,在Kamatera上创建新的VPS后,可能需要等待几个小时才能使用VNC控制台。 去我的云端->服务器->行动->控制台来启动VNC控制台。 如何升级服务器规格 如果您需要VPS上的更多资源,请访问我的云->服务器->行动->配置以向VPS添加更多CPU、RAM或磁盘空间。单击更新配置按钮以应用更改。您可以通过SSH运行htop命令来检查升级是否成功。如果您仍然看到原始的服务器规范,请转到Kamatera网站,单击重新启动按钮重新启动服务器。(从命令行重新启动可能无法应用更改。) 如何向VPS添加多个IP地址 对于批量电子邮件发件人来说,使用多个IP地址发送电子邮件是一种很好的做法,这样可以保持良好的IP声誉,提高电子邮件的可交付性。要为Kamatera VPS添加额外的IP地址,需要使用以下命令关闭VPS。 sudo shutdown -h now 然后进入Kamatera web界面,选择我的云->服务器,单击VPS,然后选择网络选项卡->您的WAN网络接口->添加IP地址。 接下来,选择自动IP选择。 然后单击“重新启动并自动添加”按钮,等待任务完成。 Kamatera将在向VPS添加IP地址时自动创建快照。当您在Kamatera帐户中看到以下消息时,需要转到“快照”选项卡并提交快照。 Server has active snapshots. Reconfiguring server's networks can't be done while server has active snapshots. Please commit all Snapshots to proceed. 完成后,打开VPS。并通过SSH登录。您可以使用以下命令检查VPS上的网络接口和IP地址。 sudo ip -c a 如您所见,主网络接口现在有两个公共IP地址。 拥有多个IP地址后,请按照下面链接的教程设置Postfix SMTP服务器的多个实例,以便它可以使用多个IP地址。 Postfix SMTP在单个VPS上具有多个IP轮换实例 如何删除IP地址 这个过程非常类似于添加一个新的IP地址。首先,您需要关闭VPS,然后转到“网络”选项卡并选择“删除IP地址”选项。接下来,提交Kamatera自动生成的快照。最后,打开VPS。 收尾 我希望本文能帮助您在Kamatera上创建Linux VPS。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.24 浏览:137
  • 如果有多台服务器,如何备份WordPress站点

    出于各种原因,人们拥有多个虚拟专用服务器。您可能想在不同的服务器上尝试不同的Linux发行版。我自己在世界各地有4个副总裁。在本教程中,我将向您展示如何在服务器之间备份WordPress网站。 备份数据库 你要做的第一件事就是备份你的WordPress数据库。它包含你的帖子、页面、用户信息、网站设置等等。您可以使用以下命令备份所有数据库, mysqldump -u root --password=root-password --all-databases --master-data | gzip > all-databases.sql.gz root password是数据库root用户密码,而不是Linux服务器root密码。上面的命令将备份MariaDB或MySQL数据库服务器中的所有数据库,并将它们保存为名为all databases的文件。sql。广州。你可以根据自己的喜好命名这个文件。 备份WordPress站点文件 这可以使用以下命令完成: tar -cpzf site-files.tar.gz /path/to/your/web/root 常见的web根目录是/usr/share/nginx/html/,/var/www/html/。此命令将备份所有WordPress站点文件,例如WordPress程序、主题文件、上载的图片、插件等,并将其保存为名为site files的文件。焦油广州。同样,你可以根据自己的喜好来命名。 将备份文件发送到远程服务器 可以使用scp(安全复制)命令行实用程序来执行此操作。 scp all-databases.sql.gz site-files.tar.gz username@remote-server-ip:/home/username scp使用ssh协议连接到远程服务器,并将以前备份的文件发送到该服务器。您需要输入远程用户的密码。上述命令将备份保存到远程用户的主目录。 如何自动化备份过程 首先用下面的命令创建一个cron作业 crontab -e 这将打开您的cron作业文件。把下面的文字放进去。 0 4 * * * mysqldump -u root --password=root-password --all-databases --master-data | gzip > all-databases.sql.gz && tar -cpzf site-files.tar.gz /path/to/your/web/root 保存文件。第一部分0 4***表示在每天上午4点(0 4)每周(第二个星号)每月(第三个星号)自动执行上述命令。双安培(&&)表示仅在成功执行上一个命令后执行下一个命令。 您也可以将命令设置为每隔一小时执行一次,只需将第一部分0 4***更改为0 2/***。 上面的cron作业只将WordPress备份到本地服务器,我们必须将备份发送到远程服务器。使用前面讨论过的scp命令需要输入远程服务器用户的密码。它不是自动化的。我们可以做的是,我们可以在服务器之间设置无密码ssh登录,这样在发送备份时就不必输入密码。 最好在cron文件中设置MAILTO变量,如下所示: [email protected] 如果cron作业未成功完成,它将向您分配给MAILTO变量的电子邮件地址发送报告。 现在,您的WordPress站点在服务器上有多个副本。如果一台服务器宕机或硬盘崩溃,您可以通过恢复另一台服务器上的数据库和站点文件,并将DNS记录指向该服务器,快速启动并运行您的站点。

    2022.03.24 浏览:164
  • 如何续订让我们加密SSL/TLS证书

    如果您使用Nginx作为web服务器,并且Let’s Encrypt颁发的SSL/TLS证书已过期或即将过期,那么您必须找到正确的位置。本教程将向您展示如何更新Let's Encrypt颁发的SSL/TLS证书。如果你还没有SSL/TLS证书,请查看本文,轻松获得免费证书。 续订SSL/TLS证书 首先ssh进入Linux服务器并停止Nginx sudo service nginx stop     or      sudo systemctl stop nginx 然后发出以下命令以续订证书。 cd /letsencrypt ./letsencrypt-auto renew --email your-email-address --agree-tos 用真实的电子邮件地址替换您的电子邮件地址同意tos指同意服务条款。上面的命令假设您使用git repo安装了letsencrypt客户端: git clone 如果从Linux发行版的软件存储库安装了letsencrypt,请输入此命令以续订证书。 letsencrypt renew --email your-email-address --agree-tos 如果续订过程成功,您将在输出中看到以下消息: Congratulations, all renewals succeeded. 现在启动Nginx web服务器。 sudo service nginx start        or        sudo systemctl start nginx 如果在浏览网站时仍在浏览器中看到“此网站的证书无效或已过期”错误消息,则可能需要重新启动计算机。 DVSNI挑战失败 如果您的服务器落后于CDN,那么您需要更改您的域名记录。将您的www域和非www域都指向您的源服务器。之后,输入上面提到的续订命令。一旦续订过程成功,您可以再次将服务器置于CDN之后。 如果不更改记录并输入上述续订命令,您将看到以下错误消息。 urn:acme:error:tls :: The server experienced a TLS error during domain verification :: Failed to connect to host for DVSNI challenge. Skipping. DVSNI被Let's Encrypt用来验证您是否可以控制服务器。让我们加密的服务器将检查您的域的A记录,并比较IP地址。如果服务器的IP与域A记录的IP匹配,则DVSNI挑战将成功。否则它就会失败。

    2022.03.24 浏览:142
  • 3种更改Linux机器主机名的方法

    本教程介绍了更改Linux机器主机名的3种方法。 检查当前主机名 您可以使用hostname命令。 hostname 或者使用hostnamectl hostnamectl 更改主机名:Method1 主机名在/etc/Hostname文件中配置。所以我们可以手动打开这个文件并在那里更改主机名。 sudo nano /etc/hostname 删除此文件中的当前名称,并为Linux框输入新的主机名。保存并关闭此文件。 使用hostname或hostnamectl命令再次检查主机名,您将看到主机名已更改。如果你打开一个新的终端窗口,你也会注意到主机名已经改变。通过此方法,新主机名将在系统重新启动时保留。 更新/etc/hosts文件 我们需要做的另一件事是更新/etc/hosts文件。 sudo nano /etc/hosts 只需将旧主机名替换为新主机名即可。请注意,Linux区分大小写。然后保存并关闭此文件。 如果不更新/etc/hosts文件,一些程序(如sudo)就不知道如何解析新的主机名。 如果更改面向Internet的Linux服务器的主机名,新主机名应解析为公共IP地址。如果更改Debian或Ubuntu家用计算机的主机名,则新主机名应解析为127.0.1.1。 Debian安装程序创建127.0.1.1&lt;主机名&gt;没有永久IP地址的系统的入口。对于具有永久IP地址的系统,127.0.1.1应替换为永久IP地址。127.0.1.1使用环回接口。实际上,127.0.0.0/8(127.0.0.0~127.255.255.255)都绑定到环回接口。 方法2:使用hostnamectl更改主机名 sudo hostnamectl set-hostname <newhostname> 此命令将从/etc/hostname中删除旧主机名,并将新主机名放在原来的位置。与第一种方法一样,我们需要更新/etc/hosts文件。 方法3:临时更改主机名 要临时更改主机名(重新启动后丢失),请使用hostname命令: sudo hostname <new-hostname> 此命令不会更改/etc/hostname文件中的静态主机名。它只会更改临时主机名,因此新主机名不会在重新启动期间保留。 静态主机名存储在/etc/hostname文件中。

    2022.03.24 浏览:149
  • 如何通过VNC在KVM VPS上手动安装Arch Linux

    本教程介绍如何通过VNC在KVM VPS上手动安装Arch Linux。当你的主机提供商不提供Arch Linux一键安装时,这很有用。Arch Linux将被用作服务器操作系统,所以我只为服务器安装基本组件,而不安装GUI。 如果你想一键安装Arch Linux,我推荐Vultr,这是一家提供低成本、高性能VPS的托管公司。使用Vultr,您不必执行以下步骤。 在执行以下步骤之前,我建议您先获取KVM VP的默认网关IP,因为在安装过程中需要在网络配置文件中输入此IP。它通常以1结尾,比如192.168.0.1。要找到确切的IP地址,您可以先通过VPS控制面板中的一键安装功能在VPS上安装Ubuntu或CentOS,然后启动并发出以下命令: ip route show “默认通过”之后的IP地址是网关的IP地址。您还可以向VPS提供商咨询网关IP。 现在开始安装。 步骤1:从Arch Linux ISO启动VP 在VPS控制面板中,找到虚拟光盘驱动器并将Arch Linux ISO插入其中。有时,您可能需要将Arch Linux的直接下载链接提供给您的主机提供商,并要求他们为您安装它。 然后建立到VPS的VNC连接。您可以从主机提供商处获取VNC登录信息。之后,单击控制面板中的启动按钮启动VPS。 通常,您必须在VNC窗口中按F12之类的键。这允许您选择VPS将从哪个设备启动。选择光盘驱动器,以便VPS将引导Arch Linux ISO映像。 KVM虚拟机的默认固件称为SeaBIOS。 现在,Arch Linux引导菜单向您致意。选择第一个选项以引导到Arch Linux live环境。 第2步:连接到互联网 进入Arch Linux live环境后,请检查是否可以访问Internet。 ping google.com 如果收到谷歌服务器的回复,请继续执行步骤3。如果没有Internet连接,请按照以下步骤操作。 在KVM环境中,主机提供商为您提供静态IP地址。KVM VPS与网关(KVM主机)建立静态以太网连接,因此可以访问外部互联网。 首先将示例以太网静态网络配置文件复制到/etc/netctl/目录。 cp /etc/netctl/examples/ethernet-static /etc/netctl 然后编辑这个文件。 nano /etc/netctl/ethernet-static 将此文件更改为以下内容。您可能需要调整红色文本。 Interface=ens3 Connection=ethernet IP=static Address=('your-VPS-public-IP-address') Netmask=('255.255.255.0') Gateway=('gateway-IP') DNS=('8.8.8.8') 保存并关闭文件。接下来,关闭ens3接口。 ip link set dev ens3 down 现在加载以太网静态网络配置文件。 netctl start ethernet-static 你现在应该可以上网了。 ping google.com 第3步:创建分区 如果希望在/dev/sda上有一个MBR分区表,请使用以下命令: parted /dev/sda mklabel msdos 本教程创建一个GPT分区表: parted /dev/sda mklabel gpt 现在在/dev/sda上创建分区 parted /dev/sda 如果在上一步中创建了GPT分区表,则需要创建1MiB的bios_grub分区,因为KVM虚拟机的默认固件是seaBIOS,这是一个免费的开源bios实现。稍后,Grub 2引导加载程序将安装在bios_Grub分区内。 确保bios_grub分区从磁盘开始至少启动31 KiB(63个扇区),因为前63个扇区是为MBR引导代码保留的。然而,如果我们调整分区,使bios_grub分区可以从磁盘开始的1MiB开始,这将给我们带来性能优势。 使用以下命令创建bios_grub分区: mkpart primary 1MiB 2MiB 将其设置为bios_grub分区 set 1 bios_grub on 然后创建第二个分区。100%意味着它将使用磁盘的以下所有空间。本教程使用单个根分区。如果需要高级设置,可以进行调整。 mkpart primary 2MiB 100% 退出分离。 q 现在将第二个分区格式化为ext4文件系统。 mkfs -t ext4 /dev/sda2 在/mnt目录中装入第二个分区。 mount /dev/sda2 /mnt 第4步:安装基本的东西 首先打开镜像列表文件,为软件安装选择一个好的镜像。 nano /etc/pacman.d/mirrorlist 要选择镜像,只需将首选镜像的地址复制到文件开头,然后保存并关闭此文件。 现在使用pacstrap将基本系统安装到安装在/mnt目录下的第二个分区上。 pacstrap -i /mnt base 之后,生成一个fstab文件。 genfstab -U -p /mnt >> /mnt/etc/fstab 进入基本系统。 arch-chroot /mnt 生成区域设置。 nano /etc/locale.gen 找到我们。UTF-8 UTF-8线路,并从该线路上移除#标志。保存这个文件。 生成/etc/locale。conf文件并设置en_US。UTF-8作为默认语言环境。 echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8 设置服务器的时区。我把它定在纽约。 ln -s /usr/share/zoneinfo/America/New_York /etc/localtime core、extra和community存储库对于Arch Linux服务器来说已经足够好了,它们在默认情况下是启用的,所以通常不需要配置存储库。如果出于任何原因需要对其进行配置,请使用nano文本编辑器编辑/etc/pacman。conf文件。 nano /etc/pacman.conf 之后,为root用户设置密码。 passwd root 安装Grub和os prober。 pacman -S grub os-prober 将Grub引导加载程序安装到第一个磁盘。因为我们使用的是BIOS固件,所以目标应该是i386-pc。 grub-install /dev/sda --target=i386-pc 生成Grub启动菜单。 grub-mkconfig -o /boot/grub/grub.cfg 退出chroot环境。 exit 重新启动KVM VPS。 shutdown -r now 第5步:安装后 现在KVM VPS已重新启动,请通过VNC再次连接。以root用户身份登录。运行以下命令: ping google.com 您的新Arch Linux服务器可能未连接到Internet。 因此,我们必须创建到KVM主机(网关)的静态以太网连接。在这里,我们必须对以太网静态网络配置文件进行一些修改。 首先将示例以太网静态网络配置文件复制到/etc/netctl/目录。 cp /etc/netctl/examples/ethernet-static /etc/netctl 然后编辑这个文件。 nano /etc/netctl/ethernet-static 进行以下更改。 Description="A basic static ethernet connection" Interface=ens3 Connection=ethernet IP=static Address=('your-vps-public-IP-address/24') #Routes=('192.168.0.0/24 via 192.168.1.2') Gateway=('your-gateway-IP') DNS=('8.8.8.8') Arch Linux中的默认以太网接口名为ens3,您可以使用ip地址命令来查找。将/24添加到您的VPS公共IP地址。/24相当于255.255.255.0。这里必须使用CIDR符号。 保存并关闭该文件。关闭ens3接口。 ip link set dev ens3 down 加载以太网静态网络配置文件。 netctl start ethernet-static 要在下次启动时自动加载配置文件,请运行: netctl enable ethernet-static 现在,您应该可以从Arch Linux服务器访问Internet了。 ping google.com 现在创建一个用户并将其添加到wheel、storage、power组。 useradd -m -g users -G wheel,storage,power -s /bin/bash <username> 设置此用户的密码。 passwd <username> 安装sudo实用程序。 pacman -S sudo 编辑/etc/suoders文件。 EDITOR=nano visudo 找到这一行: # %wheel ALL=(ALL) ALL 删除#签名并保存文件。这意味着允许轮子组的成员使用sudo。 安装SSH服务器 pacman -S openssh 编辑sshd_配置文件。 sudo nano /etc/ssh/sshd_config 将这两行添加到此文件末尾。调整用户名。 AllowUsers <username> PermitRootLogin no 第一行意味着允许新创建的用户通过ssh连接到Arch Linux服务器。第二种方法是禁用root ssh登录。这是Linux服务器安全的基本要求。保存并关闭此文件。 启动SSH服务器 systemctl start sshd 启动Arch Linux时启用SSH服务器自动启动 systemctl enable sshd 现在在您自己的计算机上打开一个SSH客户端,并尝试SSH到您的Arch Linux服务器中。您应该能够以普通用户的身份ssh登录,而不能以root用户的身份ssh登录。 ssh连接到服务器后,更新Arch-Linux。 sudo pacman -Syu 以下是您可能需要安装的一些工具。 sudo pacman -S wget unzip parted htop 启用NTP网络时间同步。 sudo timedatectl set-ntp true 检查NTP状态 timedatectl status 恭喜!您刚刚在KVM VPS上安装了Arch Linux。最后,订阅Arch Linux最新新闻源是一个好主意,因为可能会有一些重要的更改,您需要按照这些说明更新软件包。 一如既往,如果你觉得这篇文章有用,那么请订阅我们的免费时事通讯,或者在Google+、Twitter或类似我们的Facebook页面上关注我们。谢谢光临!

    2022.03.24 浏览:491
  • 2019年在Arch Linux服务器上安装Nginx、MariaDB和PHP7(LEMP)

    在之前的教程中,我解释了如何在KVM VPS上安装Arch Linux。现在,本教程将向您展示如何在Arch Linux服务器上安装Nginx、MariaDB、PHP7,也称为LEMP堆栈。您还可以按照本指南在Arch Linux家用计算机上安装LEMP堆栈。 步骤1:更新Arch Linux服务器 在ArchLinux上安装任何软件包之前,最好先刷新存储库并执行更新。在终端中输入以下命令以升级软件。 sudo pacman -Syu 步骤2:安装Nginx Web服务器 Arch Linux存储库包含两个版本的Nginx Web服务器:Nginx和Nginx主线。nginx是更稳定、更老的版本,nginx mainline是最新版本。这并不一定意味着nginx主线不稳定。事实上,nginx。如果您没有充分理由使用旧版本,org建议您使用nginx mainline。 要安装旧版本,请执行以下操作: sudo pacman -S nginx 本教程将安装主线版本。 sudo pacman -S nginx-mainline 默认情况下,上述两个命令还将安装geoip和geoip数据库包。一旦安装完毕,请检查Nginx状态。 systemctl status nginx 输出: ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2016-04-12 13:10:57 CST; 1 day 7h ago Main PID: 2010 (nginx) Tasks: 2 (limit: 512) CGroup: /system.slice/nginx.service ├─2010 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; daemon on; master_process on └─2011 nginx: worker process 如果未运行,请使用systemctl启动: sudo systemctl start nginx 启动Arch Linux服务器时,启用Nginx自动启动。 sudo systemctl enable nginx 检查Nginx版本。 nginx -v 输出: nginx version: nginx/1.17.1 在浏览器地址栏中输入Arch Linux服务器的IP地址,如果看到以下文本,则表示Nginx正在正确运行。 您可以使用以下命令检查服务器的公共IP。 curl http://icanhazip.com 如果要在Arch Linux家用计算机上安装Nginx,只需在地址栏中键入127.0.0.1或localhost。 步骤3:安装MariaDB数据库服务器 自2013年以来,MariaDB是Arch Linux默认的MySQL实现。甲骨文MySQL被放到了AUR。所以你看,Arch Linux真的希望你从MySQL迁移到MariaDB。 MariaDB随MariaDB包一起提供。 sudo pacman -S mariadb 在启动服务之前,需要初始化MariaDB数据目录。这可以通过mariadb install db命令完成。 sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql 现在开始。 sudo systemctl start mariadb 检查它是否正在运行: systemctl status mariadb 输出: ● mysqld.service - MariaDB database server    Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)    Active: active (running) since Wed 2016-04-13 21:09:45 CST; 5s ago   Process: 8373 ExecStartPost=/usr/bin/mysqld-post (code=exited, status=0/SUCCESS)  Main PID: 8372 (mysqld)     Tasks: 26 (limit: 512)    CGroup: /system.slice/mysqld.service            └─8372 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid 启动Arch Linux时,启用MariaDB自动启动。 sudo systemctl enable mariadb 运行安装后安全脚本。 sudo mysql_secure_installation 您将被要求输入您的MariaDB根密码。由于您还没有根密码,请按enter。 当被问及是否要切换到unix_套接字身份验证时,可以按Enter键。(请注意,Y大写,这意味着它是默认答案。)当被问及是否要更改根用户密码时,请回答“n”,因为unix_套接字身份验证不要求MariaDB根用户拥有密码。然后,您可以按Enter键回答所有剩余的问题,这将删除测试数据库、匿名用户并禁用root远程登录。 要登录到MariaDB控制台,只需运行以下命令。 sudo mysql -u root 要退出,快跑 exit 默认的主配置文件位于/etc/my。cnf。 步骤4:安装PHP7 Arch Linux repository中最新版本的PHP是7.3.6。要安装它,请运行以下命令: sudo pacman -S php php-fpm 安装之后,我们需要告诉Nginx使用PHP-fpm运行PHP。要实现这一点,请编辑/etc/nginx/nginx。conf文件。 sudo nano /etc/nginx/nginx.conf 找到位置~/。php$节(第65行),并将其修改为以下内容。 location ~ /.php$ {             root           /usr/share/nginx/html;             fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;             fastcgi_index  index.php;             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;             include        fastcgi_params; } 保存并关闭文件。然后测试Nginx配置。 sudo nginx -t 如果测试成功,请重新加载Nginx。 sudo systemctl reload nginx 然后使用以下命令启动并启用php fpm服务: sudo systemctl start php-fpm sudo systemctl enable php-fpm 第5步:测试PHP处理 创建一个测试。网页根目录中的php文件。 sudo nano /usr/share/nginx/html/test.php 将这些行添加到文件中。 <?php phpinfo(); ?> 保存并关闭文件。现在,在浏览器地址中键入http://your-server-ip/test.php.你应该看到你所有的PHP信息。如果要在Arch Linux台式机或笔记本电脑上安装LEMP,请键入127.0.0.1/test。php或localhost/test。php。 测试。php文件仅用于测试目的。出于安全原因,现在可以将其删除。 sudo rm /usr/share/nginx/html/test.php 启用PHP扩展 编辑/etc/php/php。ini配置文件。 sudo nano /etc/php/php.ini 找到以下两行(第922行和第926行),删除分号以启用这两个扩展。 ;extension=mysqli ;extension=pdo_mysql 您还可以运行以下两个命令在Arch Linux上启用mysqli和pdo_mysql扩展,这样就不必打开文件并找到这两行代码。 sudo sed -i 's/;extension=mysqli/extension=mysqli/g' /etc/php/php.ini sudo sed -i 's/;extension=pdo_mysql/extension=pdo_mysql/g' /etc/php/php.ini 重新加载php fpm服务以使更改生效。 sudo systemctl reload php-fpm mysqli。so用于连接PHP和MariaDB/MySQL数据库。pdo_mysql。所以显示Drupal站点是必要的。您可能还需要为PHP启用imagemagick扩展,以便在CMS平台(如WordPress)中裁剪和旋转图像。 收尾 恭喜!您已经在Arch Linux服务器上成功安装了Nginx、MariaDB和PHP7!和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.24 浏览:537
  • 修复SSH区域设置环境变量错误的3种方法

    本文将向您展示3种修复SSH语言环境变量错误的方法。什么是语言环境变量?在Linux中,区域设置由四类环境变量组成: 语言 立法会全体议员 LC_u*:LC_类型,LC_数字,LC_时间… 朗 这些环境变量定义Linux发行版上的系统语言、货币格式、日期和时间格式等。通过在terminal中运行locale命令,可以签出您的locale环境变量: locale 样本输出: LANG=zh_CN.UTF-8 LANGUAGE=zh_CN LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE="zh_CN.UTF-8" LC_MONETARY=en_US.UTF-8 LC_MESSAGES="zh_CN.UTF-8" LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 LC_ALL= 您可以看到,上面的输出包含所有四类区域设置环境变量。 在Ubuntu上,您可以在系统设置中以图形方式设置语言、语言和LC_*变量&gt;语言支持。 基于Systemd的Linux发行版(Debian 8+、Ubuntu 15.04+、Fedora、CentOS7+、Arch Linux)可以使用以下命令设置每个语言环境变量。 sudo localectl set-locale variable_name=value 例如,设置LANG=en_US。UTF-8。 sudo localectl set-locale LANG=en_US.UTF-8 区域设置更改可能需要重新登录或重新启动才能生效。 SSH区域设置环境变量错误 当您使用ssh连接到远程Linux服务器时,可能会看到以下与区域设置相关的错误。 Failed to set locale, defaulting to C 或 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings:         LANGUAGE = (unset),         LC_ALL = (unset),         LC_TIME = "zh_CN.UTF-8",         LC_MONETARY = "zh_CN.UTF-8",         LC_ADDRESS = "zh_CN.UTF-8",         LC_TELEPHONE = "zh_CN.UTF-8",         LC_NAME = "zh_CN.UTF-8",         LC_MEASUREMENT = "zh_CN.UTF-8",         LC_IDENTIFICATION = "zh_CN.UTF-8",         LC_NUMERIC = "zh_CN.UTF-8",         LC_PAPER = "zh_CN.UTF-8",         LANG = "en_US.UTF-8"         are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory 为什么会发生这种区域设置错误?这是因为您的SSH客户端将您的语言环境变量从本地计算机转发到远程Linux服务器,而该服务器没有生成所需的语言环境。 如果你不是以英语为母语的人,这种情况经常发生。通常情况下,您会在本地计算机上配置非英语语言,但大多数Linux服务器默认只生成C语言环境(又名POSIX语言环境)和英语语言环境。 现在,让我向您展示3种修复此错误的方法。 方法1:在服务器上生成区域设置 要修复此错误,可以在Linux服务器上生成所需的区域设置。首先打开/etc/locale。服务器上的gen文件。 sudo nano /etc/locale.gen 找到所需的区域设置并删除#符号以取消注释。例如,生成zh_CN。UTF-8语言环境,找到这行: #zh_CN.UTF-8 UTF-8 移除并#签名。保存并关闭文件。然后运行以下命令生成它。 sudo locale-gen locale gen读取/etc/locale。gen文件,以了解要生成的区域设置。还可以通过取消对该文件中多行的注释来生成多个区域设置。 方法2:拒绝客户端区域设置环境变量 您可以告诉SSH服务器拒绝客户端区域设置环境变量。在Linux服务器上打开SSH服务器配置文件。 sudo nano /etc/ssh/sshd_config 找到下面这行。 AcceptEnv LANG LC_* 换成 AcceptEnv no 保存并关闭文件。然后重启SSH守护进程。 sudo systemctl restart ssh 在RHEL、CentOS和Fedora上,你需要跑 sudo systemctl restart sshd 在Fedora/CentOS服务器上,则有多个与语言环境相关的SSH设置。 AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE 只需将它们全部注释掉,然后重新启动SSH守护进程。 方法3:禁用区域设置环境变量转发 我们还可以禁用SSH locale环境变量转发来修复此错误。在本地计算机上打开SSH客户端配置文件。 sudo nano /etc/ssh/ssh_config 找到这一行: SendEnv LANG LC_* 在开头加一个#符号,将其注释掉。保存并关闭文件。 下一步 我希望本教程能帮助您解决SSH语言环境问题。您可能还想设置SSH密钥,以保护服务器免受暴力攻击。 在Ubuntu上设置无密码SSH登录的2个简单步骤 在CentOS上设置SSH公钥身份验证的2个简单步骤 欢迎提出问题或建议。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.24 浏览:133