در این مقاله، دستورالعمل های گام به گام نحوه پیکربندی محیط وب در سروری که لینوکس را اجرا می کند، به شما ارائه می دهیم. اول از همه، باید بدانید که یک وب سرور معمولی از چند جزء متقابل تشکیل شده است:
- سرور HTTP
- مترجم زبان برنامه نویسی
- سیستم مدیریت پایگاه داده (DBMS)
برای مدیریت وب سایت خود همچنین باید یک سیستم مدیریت محتوا (CMS)، یک رابط وب برای مدیریت پایگاه داده و دسترسی FTP راه اندازی کنید.
بیایید راه اندازی یک پیکربندی بسیار محبوب Apache-PHP-MySQL (MariaDB) در لینوکس را در نظر بگیریم. ما همچنین سرور vsftpd ftp، phpMyAdmin - یک رابط وب برای مدیریت پایگاه داده، و یک سیستم مدیریت محتوا وردپرس را نصب خواهیم کرد.
برای شروع لطفا سفارش سرور VPS or سرور اختصاصی. به عنوان مثال ما از یک سرور مجازی با آدرس IP استاتیک که سرور اوبونتو 18.04 را اجرا می کند استفاده کردیم. تمام دستورات توسط کاربر root اجرا شد.
پیکربندی سرور HTTP Apache
1. نصب و راه اندازی
apt install apache2
پس از اتمام نصب، یک مرورگر را باز کنید و بررسی کنید "http://[server's_ip_address]"
اگر صفحه خوش آمدگویی مانند این را در تصویر بالا مشاهده کردید، به این معنی است که سرور HTTP شما کار می کند.
2. یک صفحه آزمایشی ایجاد کنید
دایرکتوری ریشه پیش فرض برای وب سایت است “/var/www/html”. این جایی است که می توانید صفحه خوش آمدگویی را که به تازگی مشاهده کرده اید پیدا کنید. بیایید یک دایرکتوری جداگانه ایجاد کنیم “/var/www/sites” برای میزبان مجازی و یک زیر پوشه “/var/www/sites/site1” با صفحه فهرست وب سایت آزمایشی شما.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
در نتیجه فایل “/var/www/sites/site1/index.html” باید فقط یک خط کد html داشته باشد:
<H1>Welcome</H1>
3. پیکربندی سرور آپاچی
فایل های پیکربندی وب سایت ها در داخل هستند “/etc/apache2/sites-available/” کاتالوگ بیایید یک فایل پیکربندی برای یک میزبان مجازی جدید ایجاد کنیم که پیکربندی پیش فرض را از فایل دریافت می کند «000-default.conf» به عنوان پایه
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
باز کردن فایل “site1.conf” و تغییر "DocumentRoot" ویژگی مسیر وب سایت خود را به عنوان مقدار قرار دهید، بنابراین در مورد ما اینطور است “/var/www/sites/site1”
در این مرحله ما نیازی به پیکربندی عملکرد همزمان چندین وب سایت نداریم، بنابراین می توانیم وب سایت پیش فرض را غیرفعال کنیم و سایت جدید را فعال کنیم. برای اعمال تغییرات، پیکربندی سرور را دوباره بارگیری کنید.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
پیوند را باز کنید "http://[سرور _ip_address]" دوباره و مطمئن شوید که به جای صفحه خوش آمدگویی پیش فرض، صفحه جدید خود را داریم.
ما پیکربندی سرور HTTP خود را به پایان رساندیم و میتوانیم به مرحله بعدی برویم.
پیکربندی سرور FTP
1. نصب و راه اندازی
بیایید سرور ftp خود و یک بسته اضافی را نصب کنیم “db-util”، که باید کاربران مجازی را پیکربندی کنیم
apt install vsftpd db-util
2. ایجاد حساب محلی
سرور vsftpd به ما اجازه می دهد تا مجوزهای دسترسی را به روشی بسیار انعطاف پذیر پیکربندی کنیم. برای وظایف خود باید موارد زیر را در اختیار کاربران ftp قرار دهیم:
- دسترسی کامل به محتویات “/var/www/sites/”;
- تمام موارد بالا را غیرفعال کنید “/var/www/”;
- ارتباط با حساب مجازی؛
یک حساب محلی ایجاد کنید "مجازی" بدون مجوز ورود اما با دسترسی به پوشه خانه “/var/www/”. این حساب توسط کاربران ftp برای اتصال به سرور استفاده خواهد شد
useradd -d /var/www virtual
"ریشه" مالک خواهد بود “/var/www” پوشه به صورت پیش فرض برای اینکه کاربران ftp بتوانند محتویات وب سایت ها را تغییر دهند، اجازه دهید مالک آن را تغییر دهیم “/var/www/sites/” از جمله زیر پوشه های "مجازی".
chown -R virtual:root /var/www/sites
در نتیجه کاربر "مجازی" قادر به دیدن محتویات خواهد بود “/var/www/” و در آن بنویسید “/var/www/sites/” زیر پوشه
3. پیکر بندی
پیکربندی اصلی در فایل است “/etc/vsftpd.conf”، پس بیایید آن را باز کرده و به صورت زیر ویرایش کنیم:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. پایگاه داده را ایجاد کنید
برای ذخیره داده های حساب های مجازی به یک پایگاه داده نیاز دارید.
ابتدا بیایید یک فایل متنی ساده ایجاد کنیم “users.txt” در پوشه home و جزئیات دسترسی (ورود و رمز عبور) کاربران مجازی را در هر خط دیگر ذخیره کنید. به عنوان مثال، ما به یک کاربر مجازی با لاگین نیاز داریم "ftp" و رمز عبور “Qwe123”. سپس فایل به شکل زیر در می آید:
ftp
Qwe123
بیایید پایگاه داده را ایجاد کنیم
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
بیایید فایل PAM پیش فرض را اصلاح کنیم “/etc/pam.d/vsftp” به شرح زیر است:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
لطفا توجه داشته باشید که مسیر از “pam_userdb.so” کتابخانه ممکن است متفاوت باشد اما در صورت نیاز می توانید آن را تغییر دهید.
برای اعمال تغییرات، سرور vsftpd را دوباره بارگیری کنید.
systemctl restart vsftpd
پیکربندی سرور FTP را به پایان رساندیم.
جزئیات اتصال:
- ftp://[server's_ip_address]
- ورود به سیستم: ftp
- رمز عبور: Qwe123
پیکربندی سرور PHP
1. نصب PHP
امروز آخرین نسخه پایدار PHP php 7.4.5 است که در مخازن رسمی اوبونتو گنجانده نشده است. بیایید یک مخزن شخص ثالث را متصل کنیم و آخرین نسخه PHP را نصب کنیم.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. بررسی کنید
برای اینکه PHP اجرا شود باید فایل صفحه وب داشته باشد “.php” پسوند. بیایید نام صفحه آزمایشی خود را تغییر دهیم:
cd /var/www/sites/site1/
mv index.html index.php
خط php زیر را به فایل اضافه کنید “/var/www/sites/site1/index.php”، بنابراین فایل باید به شکل زیر باشد:
<H1>Welcome</H1>
<?php
phpinfo();
?>
تغییرات را ذخیره کنید و نتیجه را در مرورگر بررسی کنید.
اگر نتیجه عملکرد را مشاهده کردید “phpinfo()”، مفسر PHP به درستی کار می کند. حالا بیایید به مرحله بعدی برویم.
پیکربندی MySQL (MariaDB).
1. نصب و راه اندازی
بیایید MariaDB و یک ماژول PHP را برای MySQL نصب کنیم و سپس آپاچی را دوباره بارگذاری کنیم.
apt install mariadb-server php-mysql
systemctl restart apache2
صفحه تست را رفرش کنید و به قسمت PDO در جدول تنظیمات PHP بروید. اگر می توانید بخش را پیدا کنید "PDO_mysql"، یعنی درایور Mysql به درستی نصب شده است.
سپس باید پیکربندی امنیتی اولیه MariaDB را انجام دهیم و رمز عبور آن را تنظیم کنیم "ریشه" کاربر، دسترسی از راه دور را غیرفعال کنید و تمام حساب های مهمان را حذف کنید.
mysql_secure_installation
در مرحله اول باید وارد "ریشه" رمز عبور کاربر برای دسترسی به DBMS یا اگر رمز عبور وجود ندارد Enter را فشار دهید. از آنجایی که هیچ رمز عبوری برای آن تنظیم نشده است "ریشه" کاربر پس از نصب، فقط فشار دهید "وارد".
لطفاً توجه داشته باشید که در MariaDB قبلاً حساب های خود وجود دارد که هیچ ارتباطی با حساب های سیستم عامل ندارند. بنابراین تنها کاربری که در MariaDB با آن سر و کار داریم همین است "ریشه".
پس از آن، پیکربندی از ما می خواهد که رمز عبور را برای کاربر root تعیین کنیم. تایپ کنید "Y" برای تایید و وارد کردن رمز عبور جدید. در مورد ما، این است “Qwe123”
پاسخ "Y" به بقیه سوالات تا آخر
پیکربندی انجام شد!
جزئیات دسترسی MariaDB:
- ورود: ریشه
- رمز عبور: Qwe123
پیکربندی phpMyAdmin
1. نصب و راه اندازی
بیایید پسوند لازم برای PHP را نصب کنیم - mbstring.
apt install php-mbstring
در مخزن رسمی فقط یک نسخه قدیمی از phpMyAdmin وجود دارد، بنابراین بیایید نسخه جدید را به صورت دستی نصب کنیم.
وب سایت رسمی پروژه را باز کنیدhttps://www.phpmyadmin.net/” و آخرین آرشیو را دانلود کنید.
آرشیو را در سرور موجود در کپی کنید “/var/www/sites/” پوشه با استفاده از هر مشتری ftp.
پوشه را از آرشیو خارج کنید و نام آن را به آن تغییر دهید “phpMyAdmin”. فراموش نکنید که نصب کنید "باز کردن زیپ" سودمندی پس از اینکه بایگانی را از حالت آرشیو خارج کردید، می توانید آن را حذف کنید.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
پوشه زیر را ایجاد کنید “/var/www/sites/phpMyAdmin/tmp” برای فایل های موقت و فعال کردن دسترسی برای همه. اگر این کار را انجام ندهید، phpMyAdmin عدم دسترسی به پوشه موقت را گزارش می دهد.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. یک نام مستعار ایجاد کنید
از آنجایی که phpMyAdmin یک میزبان مجازی مجزا نیست و خارج از دایرکتوری ریشه قرار دارد، اجازه دهید نام مستعار را پیکربندی کنیم.
باز کردن فایل “/etc/apache2/mods-available/alias.conf” و این خط را اضافه کنید:
Alias /pma “/var/www/sites/phpMyAdmin"
داخل این بخش:
<IfModule alias_module>
</IfModule>
برای اعمال تغییرات آپاچی را دوباره بارگیری کنید.
systemctl reload apache2
نام مستعار تنظیم شده است، بنابراین ما می توانیم از اینجا به phpMyAdmin دسترسی داشته باشیم "http://[server's_ip_address]/pma".
3 تهیه پایگاه داده
از آنجایی که استفاده از کاربر root را در طول پیکربندی اولیه MariaDB محدود کردیم، باید یک حساب کاربری جدید با تمام مجوزهایی که برای دسترسی به phpMyAdmin استفاده می شود ایجاد کنیم.
علاوه بر این، برای فعال کردن ویژگیهای اضافی phpMyAdmin، به یک پایگاه داده سرویس و یک حساب کاربری برای دسترسی به آن نیاز داریم.
بیایید حساب ها را ایجاد کنیم
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
لطفاً توجه داشته باشید که نام پایگاه داده در درخواست دوم در پشت جرقه های “… ON "phpmyadmin"..* به 'pma'@'localhost' شناسایی شده توسط …,
در نتیجه، دو حساب در MariaDB ایجاد می شود:
- ورود: pma، رمز عبور: Qwe123Full دسترسی، برای ورود به phpMyAdmin استفاده خواهد شد
- ورود به سیستم: pmaservice، رمز عبور: Qwe123حساب سرویس برای عملکرد ویژگی های اضافی مورد نیاز است
در مرحله بعد این جزئیات را در فایل پیکربندی قرار می دهیم "config.inc.php".
سپس باید پایگاه داده را از فایل وارد کنیم “phpMyAdmin/sql/create_tables.sql”.
بیایید آن را با کمک phpMyAdmin وارد کنیم.
پیوند را باز کنید "http://[server's_ip_address]/pma"
وارد شوید "pma" و رمز عبور “Qwe123”
رفتن به "وارد كردن"کلیک کنید "انتخاب فایل" و فایل را انتخاب کنید "sql/create_tables.sql" در دایرکتوری ریشه phpMyAdmin. قرار است این پوشه در رایانه شما باشد “phpMyAdmin” با فایل ها در صورت لزوم آن را از آرشیو خارج کنید.
کلیک کنید "بعد" برای شروع واردات
4. پیکر بندی
بیایید فایل پیکربندی را از قالب کپی کنیم
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
بیایید فایل پیکربندی را باز کنیم “/var/www/sites/phpMyAdmin/config.inc.php” و تغییرات زیر را انجام دهید:
یک مقدار تصادفی 32 نویسه ای برای ویژگی تعیین کنید «$cfg['blowfish_secret']». از هر تولید کننده رمز عبور برای آن استفاده کنید..
حذف نظر از تمام خطوط "تنظیمات ذخیره سازی پیکربندی phpMyAdmin" را بخش کنید و لاگین و رمز عبور حساب سرویس MariaDB را برای "کنترل کننده" و "کنترل پاس" بر این اساس صفات را مشخص می کند. در مورد ما، این است pmaservice و Qwe123.
تغییرات را ذخیره کنید.
دسترسی به جزئیات phpMyadmin:
- http://[server’s_ip_address]/pma/
- ورود به سیستم: pma
- رمز عبور: Qwe123
نحوه نصب و پیکربندی وردپرس بر روی سرور لینوکس
1. بسته بندی وردپرس و قرار دادن فایل ها
به وب سایت رسمی WP برویدhttps://ru.wordpress.org/و آرشیو را در رایانه شخصی خود دانلود کنید.
آرشیو را در سرور آپلود کنید “/var/www/sites/” پوشه را از حالت آرشیو خارج کنید "وردپرس"پوشه
محتویات را کپی کنید “/var/www/sites/wordpress/” پوشه ریشه از “/var/www/sites/site1/” وب سایت.
از آنجایی که فایلها را از طریق کنسول با مجوزهای روت کپی کردیم، اجازه دهید مالک آن را تغییر دهیم “/var/www/sites/” پوشه شامل محتویات "مجازی". این برای فعال کردن دسترسی کامل برای اتصال ftp از طریق مشتری لازم است.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. یک پایگاه داده برای وردپرس ایجاد کنید
وارد phpMyAdmin شوید و روی «ایجاد پایگاه داده» کلیک کنید. یک نام پایگاه داده دلخواه، در مورد ما "wordpress_db" را مشخص کنید و روی دکمه "ایجاد" کلیک کنید.
پایگاه داده جدید را در قسمت سمت چپ انتخاب کرده و کلیک کنید "امتیازات"
سپس روی کلیک کنید "افزودن حساب کاربری".
ورود و رمز عبور را وارد کنید (wpservice / Qwe123) در پنجره باز شده تیک بزنید "اعطای تمام امتیازات در wordpress_db" کلیک کنید و "بعد"
در صفحه بعد کلیک کنید "لغو همه" برای بازنشانی تمام امتیازات در سطح پایگاه داده و کلیک کنید "بعد".
3. پیکربندی وردپرس در سرور لینوکس
به دایرکتوری اصلی وب سایت خود بروید و فایل پیکربندی را از قالب کپی کنید
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
باز کردن “wp-config.php” فایل را وارد کنید و پارامترهای اتصال پایگاه داده را که در مرحله قبل ایجاد کردیم وارد کنید و تغییرات را ذخیره کنید.
4. CMS WordPress را نصب کنید
لینک زیر را در مرورگر باز کنید "http://[server's_ip_address]/wp-admin/install.php".
تمام فیلدها را پر کنید و کلیک کنید “نصب وردپرس”. یک نام کاربری و رمز عبور تصادفی تنظیم کنید. در مورد ما، این است wpadmin و Qwe123 بر این اساس.
این جزئیات برای دسترسی به وردپرس استفاده خواهد شد.
پس از اتمام نصب، لینک را باز کنید "http://[server's_ip_address]/wp-login.php"، مشخصات دسترسی را وارد کرده و وارد وردپرس شوید.
شما باید یکی از قالب های وردپرس را در صفحه اصلی ببینید.
پیکربندی به پایان رسید.
جزئیات دسترسی به وردپرس:
- http://[server’s_ip_address]/wp-login.php
- ورود: wpadmin
- رمز عبور: Qwe123