قم بتثبيت Caddy Web Server From Source لتوافق الترخيص على Ubuntu 16.04 LTS

في سبتمبر من عام 2017 ، تم تغيير Caddy EULA وجميع حالات العلبة التي تديرها الشركات ومواقع الويب الشخصية التي تجري التجارة تتطلب ترخيصًا تجاريًا لـ Caddy الذي تم تنزيله. يساعد هذا البرنامج التعليمي العملاء الذين يرغبون في تثبيت خادم ويب العلبة بما يتوافق مع اتفاقية ترخيص المستخدم النهائي الجديدة. في وقت كتابة هذا التقرير ، عند تجميع العلبة من المصدر وإنشاء ثنائي خاص بك ، لا يلزم الحصول على ترخيص مدفوع سواء كنت تعمل أو تقوم بإجراء تجارة على موقع الويب الشخصي الخاص بك. من المهم مراجعة أحدث اتفاقية ترخيص المستخدم النهائي للامتثال قبل اتباع الخطوات الواردة في هذا البرنامج التعليمي.

ميزات:

  • تكوين قصير يسهل فهمه
  • بنيت مع Go
  • تسجيل قابل للتوسيع
  • تسليم ملف ثابت سريع للغاية
  • موقع ديناميكي ودعم وكيل
  • مدقق التكوين الداخلي
  • ثنائي ثابت
  • يستخدم الأصفار الحديثة الموصى بها من Mozilla بشكل افتراضي
  • كشف MITM (رجل في الوسط)
  • دعم SNI (مؤشر اسم الخادم)
  • لنشفر تلقائيًا إنشاء / استرداد / تجديد الشهادة
  • دعم OCSP
  • دعم المضيفين الظاهري
  • Markdown2html تقديم الدعم
  • المدمج في دعم HTTP / 2 و QUIC و Websocket
  • موازنة الأحمال ، دعم عكس البروكسي ودعم إنهاء SSL

المتطلبات الأساسية

تحديث النظام

قم بتسجيل الدخول كمستخدم عادي لديه إذن لاستخدام الأمر sudo. قم بتحديث النظام كما يلي.

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

تثبيت العلبة من المصدر

قم بتنزيل أحدث إصدار من كود مصدر خادم الويب Caddy. لا يحتوي هذا على مكونات إضافية لجهات خارجية لـ 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والمكوِّن الإضافي 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

نسخ ثنائي العلبة الموجودة في ~/go/src/github.com/mholt/caddy/caddy/ل /usr/binدليل وتغيير الجزء الخلفي الدليل الجذر من دليل المستخدم الخاص بك.

sudo cp caddy /usr/bin/ && cd

قم caddy.serviceبإنشاء ملف systemd في /etc/systemd/system/الدليل باستخدام 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 ؛ و /etc/ssl/caddy/الدليل، الذي سيتضمن شهادات تشفير دعونا؛ و /usr/share/caddy/الدليل، والتي سوف تحتوي على ملف HTML عينة. و /var/log/caddy/الدليل، والتي سوف تحتوي على سجلات خادم الويب العلبة، وذلك باستخدام mkdirالأوامر. تغيير ملكية المجموعة إلى 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/

تمكين خادم ويب العلبة.

sudo systemctl daemon-reload && sudo systemctl enable caddy

تكوين خادم ويب العلبة

يوضح كل قسم أدناه كيفية تكوين العلبة لسيناريوهات مختلفة. يمكنك استخدام هذه كمرجع وتخطي إلى القسم الذي يلبي متطلباتك.

إعداد العلبة لعرض صفحات HTML الثابتة (غير SSL)

قم بإنشاء ملف قالب تكوين أساسي على مستوى الجذر المسمى caddy.confفي /etc/caddy/الدليل ، والذي يستخدم استيرادًا لملف التكوين vhost الفعلي لموقع عينة HTML ثابت ثابتًا تمت تسميته example.com.confفي /etc/caddy/conf.d/الدليل باستخدام 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'

ابدأ تشغيل خادم ويب العلبة.

sudo systemctl start caddy

افتح متصفح الويب الخاص بك إلى FQDN ( example.com) لمثيل VPS الخاص بك.

إعداد العلبة لعرض صفحات HTML الثابتة (SSL)

قم بإنشاء ملف قالب تكوين أساسي على مستوى الجذر المسمى caddy.confفي /etc/caddy/الدليل والذي يستخدم استيرادًا لملف التكوين vhost الفعلي لموقع عينة HTML ثابت ثابتًا تمت تسميته example.com.confفي /etc/caddy/conf.d/الدليل باستخدام echoالأمر.

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'

ابدأ تشغيل خادم ويب العلبة.

sudo systemctl start caddy

افتح متصفح الويب الخاص بك إلى FQDN ( example.com) لمثيل VPS الخاص بك.

إعداد العلبة لمعالجة صفحات PHP عن طريق خادم وكيل PHP-FPM (بخلاف SSL)

قم بإنشاء ملف قالب تكوين أساسي على مستوى الجذر المسمى caddy.confفي /etc/caddy/الدليل والذي يستخدم استيرادًا لملف التكوين vhost الفعلي لصفحة PHPInfo عينة مسماة example.com.confفي /etc/caddy/conf.d/الدليل باستخدام 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\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

ابدأ تشغيل خادم ويب العلبة.

sudo systemctl start caddy

افتح متصفح الويب الخاص بك إلى FQDN ( example.com) لمثيل VPS الخاص بك.

إعداد العلبة لمعالجة صفحات PHP عن طريق خادم وكيل PHP-FPM (SSL)

قم بإنشاء ملف قالب تكوين أساسي على مستوى الجذر المسمى caddy.confفي /etc/caddy/الدليل والذي يستخدم استيرادًا لملف التكوين vhost الفعلي لموقع عينة اختبار ديناميكي على الويب مسمى example.com.confفي /etc/caddy/conf.d/الدليل باستخدام echoالأمر.

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

ابدأ تشغيل خادم ويب العلبة.

sudo systemctl start caddy

افتح متصفح الويب الخاص بك إلى FQDN ( example.com) لمثيل VPS الخاص بك.

إعداد العلبة لتشغيل Wordpress عن طريق Proxying خادم PHP-FPM (غير SSL)

قم بإنشاء ملف قالب التكوين الأساسي على مستوى الجذر المسمى caddy.confفي /etc/caddy/الدليل والذي يستخدم استيرادًا لملف التكوين vhost الفعلي لموقع عينة اختبار Wordpress على الويب المسمى example.com.confفي /etc/caddy/conf.d/الدليل باستخدام 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\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-gzipped ( 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 وإضافات PHP المطلوبة المطلوبة للتفاعل مع Wordpress.

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. استبدل ********الحامل أدناه في الأمر الأول بكلمة مرور جذر جديدة.

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_example_com_adminوأذونات قاعدة البيانات الحد الأدنى اللازمة، ( ALTER، CREATE، DELETE، DROP، INDEX، INSERT، SELECT، و UPDATE)، لورد الأساسية ويوم المنشآت البرنامج المساعد ليعمل يوم والأساسية / المساعد التحديثات. استبدال 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الدليل. استبدال 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

ابدأ تشغيل خادم ويب العلبة.

sudo systemctl start caddy

افتح متصفح الويب الخاص بك على FQDN ( example.com) لمثيل VPS الخاص بك. سترى صفحة اختيار اللغة. بعد تحديد اللغة ، انقر فوق Continueالزر الأزرق ، في أسفل اليمين ، للانتقال إلى الخطوة التالية من تثبيت Wordpress.

في الصفحة التالية ، أدخل عنوانًا لموقعك على الويب في Site Titleالحقل (1) ، اسم مستخدم المسؤول في Usernameالحقل (2). استخدم كلمة المرور التي تم إنشاؤها أو أدخل كلمة المرور الخاصة بك في Passwordالحقل (3). أدخل عنوان بريد إلكتروني صالحًا في Your Emailالحقل (4) وقم بتمكين Search Engine Visibilityالخيار (5) أو اتركه معطلًا ، اعتمادًا على ما إذا كان موقعك في مرحلة البناء. عندما تكون راضيًا ، انقر فوق Install Wordpressالزر الرمادي (6) لإكمال إعداد Wordpress.

ستصل إلى منطقة إدارة Wordpress. تم الانتهاء من التثبيت الأولي لوورد.

إعداد العلبة لتشغيل Wordpress عن طريق Proxying خادم PHP-FPM (غير SSL)

قم بإنشاء ملف قالب التكوين الأساسي على مستوى الجذر المسمى caddy.confفي /etc/caddy/الدليل والذي يستخدم استيرادًا لملف التكوين vhost الفعلي لموقع عينة اختبار Wordpress على الويب المسمى example.com.confفي /etc/caddy/conf.d/الدليل باستخدام echoالأمر.

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-gzipped ( 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 وإضافات PHP المطلوبة المطلوبة للتفاعل مع Wordpress.

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. استبدل ********الحامل أدناه في الأمر الأول بكلمة مرور جذر جديدة.

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_example_com_adminوالأذونات الحد الأدنى من قاعدة البيانات الضرورية ( ALTER، CREATE، DELETE، DROP، INDEX، INSERT، SELECT، و UPDATE) لورد الأساسية والمساعد يوم المنشآت "ليعمل يوم والأساسية / المساعد التحديثات. استبدال 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الدليل. استبدال 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

ابدأ تشغيل خادم ويب العلبة.

sudo systemctl start caddy

افتح متصفح الويب الخاص بك على FQDN ( example.com) لمثيل VPS الخاص بك. بعد تحديد اللغة ، انقر فوق Continueالزر الأزرق ، في أسفل اليمين ، للانتقال إلى الخطوة التالية من تثبيت Wordpress.

في الصفحة التالية ، أدخل عنوانًا لموقعك على الويب في Site Titleالحقل (1) ، اسم مستخدم المسؤول في Usernameالحقل (2). استخدم كلمة المرور التي تم إنشاؤها أو أدخل كلمة المرور الخاصة بك في Passwordالحقل (3). أدخل عنوان بريد إلكتروني صالحًا في Your Emailالحقل (4) وقم بتمكين Search Engine Visibilityالخيار (5) أو اتركه معطلًا ، اعتمادًا على ما إذا كان موقعك في مرحلة البناء. عندما تكون راضيًا ، انقر فوق Install Wordpressالزر الرمادي (6) لإكمال إعداد Wordpress.

ستصل إلى منطقة إدارة Wordpress. تم الانتهاء من التثبيت الأولي لوورد.



Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد