在Arch Linux上使用Makepkg
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
2017年9月,对Caddy EULA进行了更改,由从事商务活动的企业和个人网站运行的所有Caddy实例都需要获得Caddy下载二进制文件的商业许可证。本教程可帮助希望按照新的EULA安装Caddy Web服务器的客户。在撰写本文时,从源代码编译Caddy并创建自己的二进制文件时,无论您是在个人网站上从事企业还是从事商业活动,都不需要付费许可证。在遵循本教程中的步骤之前,请务必阅读最新的EULA以确保合规性。
特征:
以具有使用sudo命令权限的普通用户身份登录。如下更新系统。
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
下载Caddy Web服务器源代码的最新发行版。它不包含Caddy的第三方插件。
go get -u github.com/mholt/caddy/caddy && go get -u github.com/caddyserver/builds && cd go/src/github.com/mholt/caddy/caddy
可选:如果需要第三方tls.dns.vultr
dnsproviders插件,请复制以下内容。tls.dns.vultr
如果您想使用它,它将下载Caddy源代码和第三方dnsproviders插件。
go get -u github.com/mholt/caddy/caddy && go get -u github.com/caddyserver/builds && go get -u github.com/caddyserver/dnsproviders/vultr && cd go/src/github.com/mholt/caddy/caddy && sed -i '38i\\t_ "github.com/caddyserver/dnsproviders/vultr"' caddymain/run.go
编译caddy
二进制文件。编译将花费不到一分钟的时间。
go run build.go
检查caddy
二进制文件的版本和插件列表。
./caddy -version && ./caddy -plugins
将Caddy二进制文件复制~/go/src/github.com/mholt/caddy/caddy/
到/usr/bin
目录中,然后将目录更改回用户目录的根目录。
sudo cp caddy /usr/bin/ && cd
使用命令caddy.service
在/etc/systemd/system/
目录中创建systemd文件echo
。
sudo su -c "echo -e '[Unit]\nAfter=network-online.target\nDescription=Caddy HTTP/2 web server\nDocumentation=https://caddyserver.com/docs\nWants=network.target\n\n[Service]\nAmbientCapabilities=CAP_NET_BIND_SERVICE\nCapabilityBoundingSet=CAP_NET_BIND_SERVICE\nEnvironment=CADDYPATH=/etc/ssl/caddy\n## Environment=VULTR_API_KEY=XXXXXXXX ##Uncomment and add your Vultr API (API tab on the Settings page) if using the Vultr DNS Manager to handle DNS for your VPS instance.\nExecReload=/bin/kill -USR1 $MAINPID\nExecStart=/usr/bin/caddy -agree=true -conf=/etc/caddy/caddy.conf -quic -root=/var/tmp\nGroup=www-data\nKillMode=mixed\nKillSignal=SIGQUIT\nLimitNOFILE=1048576\nLimitNPROC=512\nNoNewPrivileges=true\nPrivateDevices=true\nPrivateTmp=true\nProtectHome=true\nProtectSystem=full\nReadWriteDirectories=/etc/ssl/caddy\nRestart=on-abnormal\nTimeoutStopSec=5s\nUser=www-data\n\n[Install]\nWantedBy=multi-user.target' > /etc/systemd/system/caddy.service"
创建/etc/caddy/
目录,其中将包含Caddy Web服务器配置文件;该/etc/ssl/caddy/
目录,其中将包含让我们的加密证书; 该/usr/share/caddy/
目录,其中将包含样本的html文件; 和/var/log/caddy/
使用mkdir
命令的目录,它将包含Caddy Web服务器日志。www-data
使用和目录的chown
命令将组所有权更改为该组。使用命令保护目录,删除世界上可执行的,可读写的权限。/etc/ssl/caddy/
/var/log/caddy/
chmod
/etc/ssl/caddy/
sudo mkdir -p {/etc/{caddy/conf.d,ssl/caddy},/usr/share/caddy,/var/log/caddy} && sudo chown www-data /etc/ssl/caddy/ /var/log/caddy/ && sudo chmod 750 /etc/ssl/caddy/
启用Caddy Web服务器。
sudo systemctl daemon-reload && sudo systemctl enable caddy
下面的每个部分都说明了如何针对不同情况配置Caddy。您可以将其用作参考,并跳到满足您要求的部分。
caddy.conf
在/etc/caddy/
目录中创建一个基本的,根级别的配置模板文件,该文件使用命令example.com.conf
为/etc/caddy/conf.d/
目录中命名的示例静态HTML网站的实际vhost配置文件使用导入echo
。
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
创建/var/www/html
目录并index.html
使用echo
命令创建简单的内部。
sudo mkdir -p /var/www/html && sudo su -c 'echo -e "<!DOCTYPE html>"\\n"<head>"\\n\\t"<meta charset="utf-8">"\\n\\t"<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">"\\n\\t"<title>Static HTML Page"\\n\\t"</title>"\\n\\t"<meta name="description" content="">"\\n\\t"<meta name="viewport" content="width=device-width, initial-scale=1">"\\n"</head>"\\n"<body>"\\n\\t"<p>Caddy is working."\\n\\t"</p>"\\n"</body>"\\n"</html>" > /var/www/html/index.html'
启动Caddy Web服务器。
sudo systemctl start caddy
打开Web浏览器,进入example.com
VPS实例的FQDN()。
caddy.conf
在/etc/caddy/
目录中创建一个基本的根级配置模板文件example.com.conf
,该/etc/caddy/conf.d/
目录使用echo
命令为目录中命名的示例静态HTML网站的实际vhost配置文件使用导入。
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
创建/var/www/html
目录并index.html
使用echo
命令创建简单的内部。
sudo mkdir -p /var/www/html && sudo su -c 'echo -e "<!DOCTYPE html>"\\n"<head>"\\n\\t"<meta charset="utf-8">"\\n\\t"<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">"\\n\\t"<title>Static HTML Page"\\n\\t"</title>"\\n\\t"<meta name="description" content="">"\\n\\t"<meta name="viewport" content="width=device-width, initial-scale=1">"\\n"</head>"\\n"<body>"\\n\\t"<p>Caddy is working."\\n\\t"</p>"\\n"</body>"\\n"</html>" > /var/www/html/index.html'
启动Caddy Web服务器。
sudo systemctl start caddy
打开Web浏览器,进入example.com
VPS实例的FQDN()。
caddy.conf
在/etc/caddy/
目录中创建一个基本的,根级别的配置模板文件example.com.conf
,该/etc/caddy/conf.d/
目录使用echo
命令为目录中命名的示例PHPInfo页面的实际vhost配置文件使用导入。
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
使用命令index.php
在/var/www/html
目录中创建一个简单的目录echo
。
sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'
安装PHP-FPM服务器以处理PHP文件。
sudo apt install php-fpm -y
启动Caddy Web服务器。
sudo systemctl start caddy
打开Web浏览器,进入example.com
VPS实例的FQDN()。
caddy.conf
在/etc/caddy/
目录中创建一个基本的根级别配置模板文件example.com.conf
,该/etc/caddy/conf.d/
目录使用echo
命令为目录中命名的示例动态测试网站的实际vhost配置文件使用导入。
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
使用命令index.php
在/var/www/html
目录中创建一个简单的目录echo
。
sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'
安装PHP-FPM服务器以处理PHP文件。
sudo apt install php-fpm -y
启动Caddy Web服务器。
sudo systemctl start caddy
打开Web浏览器,进入example.com
VPS实例的FQDN()。
caddy.conf
在/etc/caddy/
目录中创建一个基本的根级配置模板文件example.com.conf
,该/etc/caddy/conf.d/
目录使用echo
命令为目录中命名的示例Wordpress测试网站的实际vhost配置文件使用导入。
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\trewrite {\n\t\tif {path} not_starts_with /wp-admin\n\t\tif {path} not_starts_with /wp-content\n\t\tif {path} not_starts_with /wp-includes\n\t\tto {path} {path}/ /index.php\n\t}\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
安装unzip
程序以提取Wordpress tar-gzip压缩文件(latest.tar.gz
)。
sudo apt install unzip
下载latest.tar.gz
文件到/tmp/
目录中,修改的用户和组权限/var/www/html
目录用户www-data
和组www-data
和内容解压latest.tar.gz
文件到/var/www/html/
目录中。
sudo su - www-data -c "wget -N -P /tmp/ -q https://wordpress.org/latest.tar.gz" -s /bin/bash && sudo chown -R www-data.www-data /var/www/html && sudo su - www-data -c "tar -C /var/www/html/ -zxf /tmp/latest.tar.gz --strip-components=1" -s /bin/bash && sudo su - www-data -c "rm /tmp/latest.tar.gz" -s /bin/bash
安装PHP-FPM服务器以处理PHP文件以及与Wordpress交互所需的必需PHP扩展名。
sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y
安装MariaDB数据库服务器以存储Wordpress的数据。
sudo apt install mariadb-server -y
可选:禁用该功能skip-name-resolve
以避免对客户端连接进行DNS查找,请关闭数据库TCP/IP
侦听器并仅使用UNIX套接字。
sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf
重新启动MariaDB数据库服务器以进行新的配置更改。
sudo systemctl restart mysql
保护MariaDB数据库服务器。********
在第一条命令中,将下面的支架替换为新的root密码。
sudo mysql -e "UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root'" && sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" && sudo mysql -e "DELETE FROM mysql.user WHERE User=''" && sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" && sudo mysql -e "" && sudo mysql -e "FLUSH PRIVILEGES"
wordpress_example_com
为Wordpress 创建数据库;一个特定的用户数据库,wordpress_example_com_admin
并且必要的最小数据库权限,( ,ALTER
,CREATE
,DELETE
,DROP
,INDEX
,INSERT
,SELECT
和UPDATE
),用于WordPress的核心和插件安装日常运作和芯/插件的更新。替换example_com
在wordpress_example_com
用您的实际域名,example_com
在wordpress_example_com_admin
与您的实际域名,并 ********
用了专门一个新的密码wordpress_example_com_admin
的用户。
sudo mysql -e "CREATE DATABASE wordpress_example_com DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" && sudo mysql -e "CREATE USER 'wordpress_example_com_admin'@'localhost' IDENTIFIED BY '********'; GRANT USAGE ON *.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "GRANT ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE ON wordpress_example_com.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "FLUSH PRIVILEGES"
wp-config.php
在/var/www/html
目录中创建Wordpress配置文件。替换example_com
在wordpress_example_com
用您的实际域名,example_com
在wordpress_example_com_admin
与您的实际域名,并 ********
用了专门一个新的密码wordpress_example_com_admin
的用户。
sudo su - www-data -c 'echo -e "<?php\ndefine('\'DB_CHARSET''\'', '\'utf8''\'');\ndefine('\'DB_COLLATE''\'', '\'''\'');\ndefine('\'DB_HOST''\'', '\'localhost''\'');\ndefine('\'DB_NAME''\'', '\'wordpress_example_com''\'');\ndefine('\'DB_PASSWORD''\'', '\'********''\'');\ndefine('\'DB_USER''\'', '\'wordpress_example_com_admin''\'');\ndefine('\'FS_METHOD''\'', '\'direct''\'');\ndefine('\'WP_DEBUG''\'', false);" > /var/www/html/wp-config.php' -s /bin/bash && sudo su -c www-data -c "curl -s https://api.wordpress.org/secret-key/1.1/salt/ >> /var/www/html/wp-config.php" && sudo su - www-data -c 'echo -e "\$table_prefix = '\'wp_''\'';\nif ( !defined('\'ABSPATH''\'') )\n\tdefine('\'ABSPATH''\'', dirname(__FILE__) . '\'/''\'');\nrequire_once(ABSPATH . '\'wp-settings.php''\'');\nfunction _remove_script_version( \$src ){ if ( strpos( \$src, '\'ver=''\'' ) ) \$src = remove_query_arg( '\'ver''\'', \$src ); return \$src; }\nadd_filter( '\'script_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );\nadd_filter( '\'style_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );" >> /var/www/html/wp-config.php' -s /bin/bash
启动Caddy Web服务器。
sudo systemctl start caddy
打开Web浏览器,进入example.com
VPS实例的FQDN()。您将看到语言选择页面。选择语言后,单击右下角的蓝色Continue
按钮,转到Wordpress安装的下一步。
在下一页上,在Site Title
字段(1)中输入您网站的标题,在字段(2)中输入管理员的用户名Username
。使用生成的密码或在Password
字段(3)中输入您自己的密码。在Your Email
字段(4)中输入有效的电子邮件地址,然后启用或禁用Search Engine Visibility
选项(5),具体取决于您的站点是否处于建设阶段。如果满意,请单击灰色Install Wordpress
按钮(6)以完成Wordpress设置。
您将到达Wordpress管理区域。Wordpress的初始安装现已完成。
caddy.conf
在/etc/caddy/
目录中创建一个基本的根级配置模板文件example.com.conf
,该/etc/caddy/conf.d/
目录使用echo
命令为目录中命名的示例Wordpress测试网站的实际vhost配置文件使用导入。
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\trewrite {\n\t\tif {path} not_starts_with /wp-admin\n\t\tif {path} not_starts_with /wp-content\n\t\tif {path} not_starts_with /wp-includes\n\t\tto {path} {path}/ /index.php\n\t}\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
安装unzip
程序以提取Wordpress tar-gzip压缩文件(latest.tar.gz
)。
sudo apt install unzip
下载latest.tar.gz
文件到/tmp/
目录中,修改的用户和组权限/var/www/html
目录用户www-data
和组www-data
和内容解压latest.tar.gz
文件到/var/www/html/
目录中。
sudo su - www-data -c "wget -N -P /tmp/ -q https://wordpress.org/latest.tar.gz" -s /bin/bash && sudo chown -R www-data.www-data /var/www/html && sudo su - www-data -c "tar -C /var/www/html/ -zxf /tmp/latest.tar.gz --strip-components=1" -s /bin/bash && sudo su - www-data -c "rm /tmp/latest.tar.gz" -s /bin/bash
安装PHP-FPM服务器以处理PHP文件以及与Wordpress交互所需的必需PHP扩展名。
sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y
安装MariaDB数据库服务器以存储Wordpress的数据。
sudo apt install mariadb-server -y
可选:禁用该功能skip-name-resolve
以避免对客户端连接进行DNS查找惩罚,请关闭数据库TCP / IP侦听器并仅使用unix套接字。
sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf
重新启动MariaDB数据库服务器以进行新的配置更改。
sudo systemctl restart mysql
保护MariaDB数据库服务器。********
在第一条命令中,将下面的支架替换为新的root密码。
sudo mysql -e "UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root'" && sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" && sudo mysql -e "DELETE FROM mysql.user WHERE User=''" && sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" && sudo mysql -e "" && sudo mysql -e "FLUSH PRIVILEGES"
wordpress_example_com
为Wordpress 创建数据库;一个特定的用户数据库,wordpress_example_com_admin
并且必要的最小数据库权限(ALTER
,CREATE
,DELETE
,DROP
,INDEX
,INSERT
,SELECT
,和UPDATE
的WordPress核心和插件安装日常运作和芯/插件更新)。替换example_com
在wordpress_example_com
用您的实际域名,example_com
在wordpress_example_com_admin
与您的实际域名,并 ********
用了专门一个新的密码wordpress_example_com_admin
的用户。
sudo mysql -e "CREATE DATABASE wordpress_example_com DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" && sudo mysql -e "CREATE USER 'wordpress_example_com_admin'@'localhost' IDENTIFIED BY '********'; GRANT USAGE ON *.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "GRANT ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE ON wordpress_example_com.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "FLUSH PRIVILEGES"
wp-config.php
在/var/www/html
目录中创建Wordpress配置文件。替换example_com
在wordpress_example_com
用您的实际域名,example_com
在wordpress_example_com_admin
与您的实际域名,并 ********
用了专门一个新的密码wordpress_example_com_admin
的用户。
sudo su - www-data -c 'echo -e "<?php\ndefine('\'DB_CHARSET''\'', '\'utf8''\'');\ndefine('\'DB_COLLATE''\'', '\'''\'');\ndefine('\'DB_HOST''\'', '\'localhost''\'');\ndefine('\'DB_NAME''\'', '\'wordpress_example_com''\'');\ndefine('\'DB_PASSWORD''\'', '\'********''\'');\ndefine('\'DB_USER''\'', '\'wordpress_example_com_admin''\'');\ndefine('\'FS_METHOD''\'', '\'direct''\'');\ndefine('\'WP_DEBUG''\'', false);" > /var/www/html/wp-config.php' -s /bin/bash && sudo su -c www-data -c "curl -s https://api.wordpress.org/secret-key/1.1/salt/ >> /var/www/html/wp-config.php" && sudo su - www-data -c 'echo -e "\$table_prefix = '\'wp_''\'';\nif ( !defined('\'ABSPATH''\'') )\n\tdefine('\'ABSPATH''\'', dirname(__FILE__) . '\'/''\'');\nrequire_once(ABSPATH . '\'wp-settings.php''\'');\nfunction _remove_script_version( \$src ){ if ( strpos( \$src, '\'ver=''\'' ) ) \$src = remove_query_arg( '\'ver''\'', \$src ); return \$src; }\nadd_filter( '\'script_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );\nadd_filter( '\'style_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );" >> /var/www/html/wp-config.php' -s /bin/bash
启动Caddy Web服务器。
sudo systemctl start caddy
打开Web浏览器,进入example.com
VPS实例的FQDN()。选择语言后,单击右下角的蓝色Continue
按钮,转到Wordpress安装的下一步。
在下一页上,在Site Title
字段(1)中输入您网站的标题,在字段(2)中输入管理员的用户名Username
。使用生成的密码或在Password
字段(3)中输入您自己的密码。在Your Email
字段(4)中输入有效的电子邮件地址,然后启用或禁用Search Engine Visibility
选项(5),具体取决于您的站点是否处于建设阶段。如果满意,请单击灰色Install Wordpress
按钮(6)以完成Wordpress设置。
您将到达Wordpress管理区域。Wordpress的初始安装现已完成。
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息