Pada bulan September 2017, Caddy EULA telah diubah dan semua kejadian Caddy dijalankan oleh perniagaan dan laman web peribadi yang menjalankan perdagangan memerlukan lesen komersial kepada binari yang dimuat turun Caddy. Tutorial ini membantu pelanggan yang ingin memasang pelayan web Caddy mematuhi EULA baru. Pada masa penulisan, ketika menyusun Caddy dari sumber dan membuat binari anda sendiri, lesen berbayar tidak diperlukan sama ada anda perniagaan atau menjalankan perdagangan di laman web peribadi anda. Penting untuk mengkaji pematuhan EULA terkini sebelum mengikuti langkah-langkah dalam tutorial ini.
Ciri-ciri:
- Konfigurasi yang pendek dan mudah difahami
- Dibina dengan Go
- Pembalakan yang boleh diperluaskan
- Penghantaran fail statik yang sangat pantas
- Laman web dinamik & sokongan proksi
- Pemeriksa konfigurasi dalaman
- Perduaan statik
- Menggunakan cipher moden yang disyorkan oleh Mozilla secara lalai
- Pengesanan MITM (lelaki di tengah)
- Sokongan SNI (penunjuk nama pelayan)
- Penjanaan / pengambilan / pembaharuan sijil Let's Encrypt automatik
- Sokongan OCSP
- Sokongan hos maya
- Sokongan renddown Markdown2html
- Sokongan HTTP / 2, QUIC & Websocket terbina dalam
- Beban pengimbangan, proksi terbalik & penamatan SSL
Prasyarat
Kemas kini sistem
Log masuk sebagai pengguna biasa yang mempunyai kebenaran untuk menggunakan perintah sudo. Kemas kini sistem seperti berikut.
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
Pasang Caddy Dari Sumber
Muat turun versi kod sumber pelayan web Caddy versi terbaru. Ini tidak mengandungi pemalam pihak ketiga untuk Caddy.
go get -u github.com/mholt/caddy/caddy && go get -u github.com/caddyserver/builds && cd go/src/github.com/mholt/caddy/caddy
Pilihan: Sekiranya anda memerlukan tls.dns.vultrpemalam dnsproviders pihak ketiga, salin yang berikut. Ini akan memuat turun kedua-dua kod sumber Caddy dan tls.dns.vultrpemalam dnsproviders pihak ketiga jika anda ingin menggunakannya.
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
Menyusun caddyperduaan. Proses penyusunan ini akan memakan masa kurang dari satu minit.
go run build.go
Periksa versi dan senarai pemalam caddyperduaan.
./caddy -version && ./caddy -plugins
Salin binari Caddy yang terletak di ~/go/src/github.com/mholt/caddy/caddy/sebelah /usr/bindirektori dan menukar kembali direktori ke akar direktori pengguna anda.
sudo cp caddy /usr/bin/ && cd
Buat caddy.servicefail systemd dalam /etc/systemd/system/direktori menggunakan echoperintah.
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"
Buat /etc/caddy/direktori, yang akan mengandungi fail konfigurasi pelayan web Caddy; yang /etc/ssl/caddy/direktori, yang akan mengandungi sijil Encrypt Mari; yang /usr/share/caddy/direktori, yang akan mengandungi sampel fail html; dan /var/log/caddy/direktori, yang akan mengandungi log pelayan web Caddy, menggunakan mkdirperintah. Tukar pemilikan kumpulan ke www-datakumpulan menggunakan chownarahan ke /etc/ssl/caddy/dan /var/log/caddy/direktori. Keluarkan izin yang dapat dilaksanakan, dibaca dan boleh ditulis oleh dunia, menggunakan chmodperintah untuk mengamankan /etc/ssl/caddy/direktori.
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/
Aktifkan pelayan web Caddy.
sudo systemctl daemon-reload && sudo systemctl enable caddy
Setiap bahagian di bawah menerangkan cara mengkonfigurasi Caddy untuk senario yang berbeza. Anda boleh menggunakannya untuk rujukan dan melangkau ke bahagian yang memenuhi keperluan anda.
Siapkan Caddy Untuk Memaparkan Halaman HTML Statik (Bukan SSL)
Buat fail templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori, yang menggunakan import untuk file konfigurasi vhost yang sebenarnya untuk contoh laman web HTML statik yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.
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'
Buat /var/www/htmldirektori dan buat bahagian index.htmldalam yang mudah menggunakan echoperintah.
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'
Mulakan pelayan web Caddy.
sudo systemctl start caddy
Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda.
Siapkan Caddy Untuk Memaparkan Halaman HTML Statik (SSL)
Buat fail templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost sebenar untuk contoh laman web HTML statik yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.
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'
Buat /var/www/htmldirektori dan buat bahagian index.htmldalam yang mudah menggunakan echoperintah.
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'
Mulakan pelayan web Caddy.
sudo systemctl start caddy
Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda.
Siapkan Caddy Untuk Memproses Halaman PHP Dengan Mengenali Pelayan PHP-FPM (Bukan SSL)
Buat fail templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost sebenar untuk contoh halaman PHPInfo yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.
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'
Buat yang mudah index.phpdi dalam /var/www/htmldirektori menggunakan echoperintah.
sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'
Pasang pelayan PHP-FPM untuk memproses fail PHP.
sudo apt install php-fpm -y
Mulakan pelayan web Caddy.
sudo systemctl start caddy
Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda.
Siapkan Caddy Untuk Memproses Halaman PHP Dengan Mengenali Pelayan PHP-FPM (SSL)
Buat fail templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost sebenar untuk contoh laman web ujian dinamik yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.
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'
Buat yang mudah index.phpdi dalam /var/www/htmldirektori menggunakan echoperintah.
sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'
Pasang pelayan PHP-FPM untuk memproses fail PHP.
sudo apt install php-fpm -y
Mulakan pelayan web Caddy.
sudo systemctl start caddy
Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda.
Siapkan Caddy Untuk Menjalankan Wordpress Dengan Melayan Pelayan PHP-FPM (Bukan SSL)
Buat file templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost yang sebenarnya untuk contoh laman web ujian Wordpress yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.
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'
Pasang unzipprogram untuk mengekstrak fail tar-gzipped Wordpress ( latest.tar.gz).
sudo apt install unzip
Muat turun latest.tar.gzfail ke dalam /tmp/direktori, ubah izin pengguna dan kumpulan /var/www/htmldirektori ke pengguna www-datadan kumpulan www-datadan ekstrak kandungan latest.tar.gzfail ke dalam /var/www/html/direktori.
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
Pasang pelayan PHP-FPM untuk memproses fail PHP dan sambungan PHP yang diperlukan yang diperlukan untuk berinteraksi dengan Wordpress.
sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y
Pasang pelayan pangkalan data MariaDB untuk menyimpan data untuk Wordpress.
sudo apt install mariadb-server -y
Pilihan: Lumpuhkan skip-name-resolveuntuk mengelakkan hukuman pencarian DNS untuk sambungan pelanggan, matikan TCP/IPpendengar pangkalan data dan gunakan soket unix sahaja.
sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf
Mulakan semula pelayan pangkalan data MariaDB ke perubahan konfigurasi baru.
sudo systemctl restart mysql
Selamat pelayan pangkalan data MariaDB. Ganti ********pemegang di bawah pada arahan pertama dengan kata laluan root baru.
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"
Buat pangkalan data wordpress_example_com, untuk Wordpress; pengguna pangkalan data tertentu, wordpress_example_com_admindan keizinan pangkalan data yang minimum perlu, ( ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, & UPDATE), untuk Wordpress teras dan hari pemasangan plugin 'untuk hari berfungsi dan teras / plugin kemas kini. Menggantikan example_comdalam wordpress_example_comdengan nama domain sebenar anda, example_comdalam wordpress_example_com_admindengan nama domain sebenar anda dan ********dengan kata laluan baru khusus untuk wordpress_example_com_adminpengguna.
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"
Buat fail konfigurasi Wordpress wp-config.php, dalam /var/www/htmldirektori. Menggantikan example_comdalam wordpress_example_comdengan nama domain sebenar anda, example_comdalam wordpress_example_com_admindengan nama domain sebenar anda dan ********dengan kata laluan baru khusus untuk wordpress_example_com_adminpengguna.
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
Mulakan pelayan web Caddy.
sudo systemctl start caddy
Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda. Anda akan melihat halaman pemilihan bahasa. Setelah memilih bahasa, klik Continuebutang biru , di kanan bawah, untuk pergi ke langkah seterusnya pemasangan Wordpress.
Pada halaman berikutnya, masukkan judul untuk laman web anda di Site Titlebidang (1), nama pengguna pentadbir di Usernamebidang (2). Gunakan kata laluan yang dihasilkan atau masukkan kata laluan anda sendiri di Passwordlapangan (3). Masukkan alamat e-mel yang sah di Your Emaillapangan (4) dan aktifkan atau tinggalkan Search Engine Visibilitypilihan (5), bergantung pada sama ada laman web anda dalam fasa pembinaan. Apabila anda berpuas hati, klik Install Wordpressbutang kelabu (6) untuk menyelesaikan persediaan Wordpress.
Anda akan tiba di kawasan pentadbiran Wordpress. Pemasangan awal Wordpress kini selesai.
Siapkan Caddy Untuk Menjalankan Wordpress Dengan Melayan Pelayan PHP-FPM (Bukan SSL)
Buat file templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost yang sebenarnya untuk contoh laman web ujian Wordpress yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.
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'
Pasang unzipprogram untuk mengekstrak fail tar-gzipped Wordpress, ( latest.tar.gz).
sudo apt install unzip
Muat turun latest.tar.gzfail ke dalam /tmp/direktori, ubah izin pengguna dan kumpulan /var/www/htmldirektori ke pengguna www-datadan kumpulan www-datadan ekstrak kandungan latest.tar.gzfail ke dalam /var/www/html/direktori.
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
Pasang pelayan PHP-FPM untuk memproses fail PHP dan sambungan PHP yang diperlukan yang diperlukan untuk berinteraksi dengan Wordpress.
sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y
Pasang pelayan pangkalan data MariaDB untuk menyimpan data untuk Wordpress.
sudo apt install mariadb-server -y
Pilihan: Lumpuhkan skip-name-resolveuntuk mengelakkan hukuman pencarian DNS untuk sambungan pelanggan, matikan pendengar TCP / IP pangkalan data dan gunakan soket unix sahaja.
sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf
Mulakan semula pelayan pangkalan data MariaDB ke perubahan konfigurasi baru.
sudo systemctl restart mysql
Selamat pelayan pangkalan data MariaDB. Ganti ********pemegang di bawah pada arahan pertama dengan kata laluan root baru.
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"
Buat pangkalan data wordpress_example_com, untuk Wordpress; pengguna pangkalan data tertentu, wordpress_example_com_admindan keizinan pangkalan data yang minimum yang diperlukan ( ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, & UPDATE) untuk Wordpress teras dan plugin hari pemasangan 'untuk hari berfungsi dan teras / plugin kemas kini. Menggantikan example_comdalam wordpress_example_comdengan nama domain sebenar anda, example_comdalam wordpress_example_com_admindengan nama domain sebenar anda dan ********dengan kata laluan baru khusus untuk wordpress_example_com_adminpengguna.
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"
Buat fail konfigurasi Wordpress wp-config.php, dalam /var/www/htmldirektori. Menggantikan example_comdalam wordpress_example_comdengan nama domain sebenar anda, example_comdalam wordpress_example_com_admindengan nama domain sebenar anda dan ********dengan kata laluan baru khusus untuk wordpress_example_com_adminpengguna.
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
Mulakan pelayan web Caddy.
sudo systemctl start caddy
Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda. Setelah memilih bahasa, klik Continuebutang biru , di kanan bawah, untuk pergi ke langkah seterusnya pemasangan Wordpress.
Pada halaman berikutnya, masukkan judul untuk laman web anda di Site Titlebidang (1), nama pengguna pentadbir di Usernamebidang (2). Gunakan kata laluan yang dihasilkan atau masukkan kata laluan anda sendiri di Passwordlapangan (3). Masukkan alamat e-mel yang sah di Your Emaillapangan (4) dan aktifkan atau tinggalkan Search Engine Visibilitypilihan (5), bergantung pada sama ada laman web anda dalam fasa pembinaan. Apabila anda berpuas hati, klik Install Wordpressbutang kelabu (6) untuk menyelesaikan persediaan Wordpress.
Anda akan tiba di kawasan pentadbiran Wordpress. Pemasangan awal Wordpress kini selesai.