قم بتثبيت 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

كيفية تثبيت منصة عربة التسوق LiteCart على أوبونتو 16.04

كيفية تثبيت منصة عربة التسوق LiteCart على أوبونتو 16.04

LiteCart عبارة عن منصة سلة تسوق مجانية ومفتوحة المصدر مكتوبة بلغة PHP و jQuery و HTML 5. وهي عبارة عن برنامج بسيط وخفيف الوزن وسهل الاستخدام للتجارة الإلكترونية

قم بإعداد NFS Share على دبيان

قم بإعداد NFS Share على دبيان

NFS هو نظام ملفات قائم على الشبكة يسمح لأجهزة الكمبيوتر بالوصول إلى الملفات عبر شبكة الكمبيوتر. يوضح هذا الدليل كيف يمكنك فضح المجلدات عبر NF

كيفية تثبيت Matomo Analytics على Fedora 28

كيفية تثبيت Matomo Analytics على Fedora 28

استخدام نظام مختلف؟ Matomo (Piwik سابقًا) هو نظام أساسي مفتوح المصدر للتحليلات ، وهو بديل مفتوح لبرنامج Google Analytics. مصدر Matomo مستضاف

قم بإعداد خادم TeamTalk على Linux

قم بإعداد خادم TeamTalk على Linux

TeamTalk هو نظام مؤتمرات يتيح للمستخدمين إجراء محادثات صوتية / مرئية عالية الجودة ، والدردشة النصية ، ونقل الملفات ، ومشاركة الشاشات. أنا

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا

كيفية تثبيت وتكوين روبي مع Rbenv و Rails و MariaDB و Nginx و SSL و Passenger على Ubuntu 17.04

كيفية تثبيت وتكوين روبي مع Rbenv و Rails و MariaDB و Nginx و SSL و Passenger على Ubuntu 17.04

Ruby on Rails هو إطار عمل شهير لـ Ruby تم تطويره لزيادة إنتاجية المبرمجين. ومع ذلك ، الحصول على الجواهر والتبعيات المختلفة ر

كيفية الوصول إلى Vultr VPS الخاص بك

كيفية الوصول إلى Vultr VPS الخاص بك

يوفر Vultr عدة طرق مختلفة للوصول إلى VPS لتكوين وتثبيت واستخدام. بيانات اعتماد الوصول بيانات اعتماد الوصول الافتراضية لـ VPS الخاص بك

كيفية بناء Brotli من المصدر على Ubuntu 18.04 LTS

كيفية بناء Brotli من المصدر على Ubuntu 18.04 LTS

استخدام نظام مختلف؟ Brotli هو طريقة ضغط جديدة مع نسبة ضغط أفضل من GZIP. تتم استضافة رمز المصدر الخاص به علنًا على Githu هذا

كيفية تثبيت OpenNMS على Ubuntu 16.04 LTS

كيفية تثبيت OpenNMS على Ubuntu 16.04 LTS

استخدام نظام مختلف؟ OpenNMS عبارة عن منصة إدارة شبكة مفتوحة المصدر على مستوى المؤسسات يمكن استخدامها لمراقبة وإدارة العديد من الأجهزة

نشر WebDAV على دبيان 10 باستخدام WsgiDAV

نشر WebDAV على دبيان 10 باستخدام WsgiDAV

مقدمة: التأليف والإصدار الموزع على الويب (WebDAV) هو امتداد HTTP يوفر إطار عمل لإنشاء الملفات وتعديلها عن بُعد على

استخدام طرق عرض MySQL على دبيان 7

استخدام طرق عرض MySQL على دبيان 7

مقدمة يتميز MySQL بميزة رائعة تعرف باسم طرق العرض. المشاهدات هي استعلامات مخزنة. اعتبرها اسمًا مستعارًا لاستعلام طويل. في هذا الدليل ،

كيفية تثبيت Omeka Classic 2.4 CMS على Fedora 26 LAMP VPS

كيفية تثبيت Omeka Classic 2.4 CMS على Fedora 26 LAMP VPS

استخدام نظام مختلف؟ Omeka Classic 2.4 CMS هو نظام نشر رقمي مجاني ومفتوح المصدر ونظام إدارة المحتوى (CMS) لمشاركة الصور الرقمية

كيفية تثبيت DokuWiki على Ubuntu 16.04 LTS

كيفية تثبيت DokuWiki على Ubuntu 16.04 LTS

استخدام نظام مختلف؟ DokuWiki هو برنامج ويكي مفتوح المصدر مكتوب بلغة PHP ولا يتطلب قاعدة بيانات. يقوم بتخزين البيانات في ملفات نصية. DokuWik

إنشاء Chroot على دبيان

إنشاء Chroot على دبيان

ستعلمك هذه المقالة كيفية إعداد سجن سريع على دبيان. أفترض أنك تستخدم Debian 7.x. إذا كنت تقوم بتشغيل دبيان 6 أو 8 ، فقد يعمل هذا ، ولكن

كيفية تثبيت PiVPN على دبيان

كيفية تثبيت PiVPN على دبيان

مقدمة طريقة سهلة لإعداد خادم VPN على دبيان هي PiVPN. PiVPN هو أداة تثبيت وغلاف لـ OpenVPN. يخلق أوامر بسيطة لك

كيفية تثبيت CyberPanel وتكوينه على Ubuntu 18.04 LTS

كيفية تثبيت CyberPanel وتكوينه على Ubuntu 18.04 LTS

استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا

كيفية نشر Ghost v0.11 LTS على Fedora 25

كيفية نشر Ghost v0.11 LTS على Fedora 25

استخدام نظام مختلف؟ Ghost هي منصة تدوين مفتوحة المصدر اكتسبت شعبية بين المطورين والمستخدمين العاديين منذ عام 201

قم بتثبيت RockMongo على CentOS 7

قم بتثبيت RockMongo على CentOS 7

RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت

كيفية نشر Lets Chat Server على CentOS 7

كيفية نشر Lets Chat Server على CentOS 7

Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة

نظرة ثاقبة على 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. قراءة هذه المادة لمعرفة المزيد