Ինչպես տեղադրել LOMP Stack-ը (OpenLiteSpeed, MySQL և PHP) Rocky Linux 9-ում
Այս էջում
- Նախադրյալներ
- Քայլ 1 - Կարգավորել Firewall-ը
Քայլ 2 - Տեղադրեք OpenLiteSpeed-ը
- Ստեղծեք ադմինիստրատորի գաղտնաբառը
Քայլ 5 - Կարգավորեք OpenLiteSpeed-ը
OpenLiteSpeed-ը LiteSpeed սերվերի թեթև և բաց կոդով տարբերակն է, որը մշակվել է LiteSpeed Technologies-ի կողմից: Այն աջակցում է Apache Rewrite կանոնները, HTTP/2 և HTTP/3 և TLS v1.3 և QUIC արձանագրությունները: Այն գալիս է WebGUI-ի վրա հիմնված ադմինիստրատիվ վահանակով, որը տարբերվում է այլ սերվերներից և ավելի հեշտ է կառավարվում:
LOMP Stack-ը Linux-ի, OpenLiteSpeed-ի, MySQL/MariaDB-ի և PHP-ի հապավումն է: Litespeed սերվերները հայտնի են իրենց արագությամբ, հատկապես PHP-ի հետ, որը ինտեգրվում է LiteSpeed Server Application Programming Interface-ի (LSAPI) միջոցով: LiteSpeed PHP (LSPHP) թարգմանիչը սպասարկում է դինամիկ PHP էջեր LSAPI-ի միջոցով:
Այս ձեռնարկը ձեզ քայլ առ քայլ ցույց կտա, թե ինչպես տեղադրել LOMP սերվեր Rocky Linux 9 մեքենայի վրա:
Նախադրյալներ
Rocky Linux 9-ով աշխատող սերվեր:
Ոչ արմատային օգտատեր՝ sudo արտոնություններով:
Լիովին որակավորված տիրույթի անուն (FQDN), ինչպիսին է example.com
-ը, որը մատնանշում է սերվերը:
SELinux-ը պետք չէ անջատել կամ կարգավորել OpenLiteSpeed-ի հետ աշխատելու համար:
Համոզվեք, որ ամեն ինչ թարմացվում է:
$ sudo dnf update
Մի քանի փաթեթներ, որոնք անհրաժեշտ են ձեր համակարգին:
$ sudo dnf install wget curl nano unzip yum-utils -y
Այս փաթեթներից որոշները կարող են արդեն տեղադրված լինել ձեր համակարգում:
Քայլ 1 - Կարգավորել Firewall-ը
Առաջին քայլը firewall-ի կազմաձևումն է: Rocky Linux-ն օգտագործում է Firewalld Firewall-ը: Ստուգեք firewall-ի կարգավիճակը:
$ sudo firewall-cmd --state
running
Firewall-ը աշխատում է տարբեր գոտիների հետ, և հանրային գոտին լռելյայն է, որը մենք կօգտագործենք: Թվարկեք բոլոր ծառայություններն ու նավահանգիստները, որոնք ակտիվ են firewall-ում:
$ sudo firewall-cmd --permanent --list-services
Այն պետք է ցույց տա հետևյալ արդյունքը.
cockpit dhcpv6-client ssh
OpenLiteSpeed-ին անհրաժեշտ է 7080 պորտ իր կառավարման վահանակի համար:
$ sudo firewall-cmd --permanent --add-port=7080/tcp
Գործելու համար մեզ նաև անհրաժեշտ են HTTP և HTTPS պորտեր: Բացեք դրանք:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Փոփոխությունները կիրառելու համար վերաբեռնեք firewall-ը:
$ sudo firewall-cmd --reload
Նորից նշեք բոլոր ծառայությունները:
$ sudo firewall-cmd --permanent --list-services
Դուք պետք է ստանաք հետևյալ արդյունքը.
cockpit dhcpv6-client http https ssh
Քայլ 2 - Տեղադրեք OpenLiteSpeed-ը
Ներբեռնեք OpenLiteSpeed երկուական ֆայլը: Դուք կարող եք ստանալ վերջին երկուական ֆայլի հղումը OpenLiteSpeed-ի պաշտոնական ներբեռնումների էջից:
$ wget https://openlitespeed.org/packages/openlitespeed-1.7.16.tgz
Արտահանեք ֆայլը:
$ tar -zxf openlitespeed-*.tgz
Անցեք արդյունահանված գրացուցակին:
$ cd openlitespeed
Գործարկեք տեղադրիչը:
$ sudo ./install.sh
Սպասեք որոշ ժամանակ, մինչև տեղադրողը ավարտի:
Rocky Linux 9 ապարատում OpenLiteSpeed-ի հետ կապված որոշ խնդիրներ կան, որոնց պատճառով դուք կարող եք տեսնել որոշ սխալներ՝ բացակայելու PHP փաթեթները: Դուք կարող եք դրանք անտեսել առայժմ, քանի որ սերվերը դեռ կարող է աշխատել տարբեր լուծումներով:
Տեղադրիչի սկրիպտը տեղադրում և միացնում է lshttpd
systemd ծառայությունը:
Գործարկեք OpenLiteSpeed սերվերը:
$ sudo systemctl start lshttpd
Ստուգեք տեղադրված սերվերի տարբերակը:
$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.16 Open (BUILD built: Thu Nov 17 16:18:46 UTC 2022)
module versions:
lsquic 3.1.1
modgzip 1.1
cache 1.64
mod_security 1.4
Ստեղծեք ադմինիստրատորի գաղտնաբառը
Գործարկեք գաղտնաբառի վերակայման սցենարը:
$ sudo /usr/local/lsws/admin/misc/admpass.sh
Դուք կստանաք հետևյալ արդյունքը. Տվեք admin
որպես օգտվողի անուն և սահմանեք ուժեղ գաղտնաբառ:
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.
User name [admin]: admin
Please specify the administrator's password.
This is the password required to login the administration Web interface.
Password:
Retype password:
Administrator's username/password is updated successfully!
Այժմ կարող եք օգտագործել նոր ադմինիստրատորի գաղտնաբառը:
OpenLiteSpeed-ի կառավարման վահանակ մուտք գործելու համար բացեք http://
: Ձեր առաջին մուտքի ժամանակ ձեր զննարկիչը կզգուշացնի, որ ձեր կապը մասնավոր չէ: Սեղմեք Ընդլայնված և սեղմեք «Ընդունել ռիսկը և շարունակել» (Firefox-ի դեպքում) կամ «Անցնել
» (Chromium-ի վրա հիմնված բրաուզերի դեպքում): Դուք այլևս չեք տեսնի նախազգուշացումը:
Դուք պետք է տեսնեք մուտքի էջը:
Մուտքագրեք admin
որպես օգտվողի անուն և գաղտնաբառ, որն ավելի վաղ դրել եք, և սեղմեք Մուտք կոճակը՝ շարունակելու համար:
Դուք կստանաք հետևյալ էկրանը.
Քայլ 3 - Տեղադրեք PHP
OpenLiteSpeed տեղադրիչը սովորաբար լռելյայն տեղադրում է PHP 7.4: Rocky Linux 9-ի դեպքում այն ինքնաբերաբար չի տեղադրվում: Ավելին, մենք կտեղադրենք PHP-ի վերջին տարբերակը։ Նախքան դա անելը, մենք պետք է տեղադրենք LiteSpeed պահեստը:
Տեղադրեք OpenLiteSpeed պահոցը՝ գործարկելով հետևյալ հրամանը.
$ sudo rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.3-1.el8.noarch.rpm
Դուք կարող եք վերցնել RPM ֆայլի վերջին տարբերակը OpenLiteSpeed ռեպո էջից:
Տեղադրեք PHP 8.2.
$ sudo dnf install lsphp82 lsphp82-mysqlnd lsphp82-process lsphp82-bcmath lsphp82-pdo lsphp82-common lsphp82-xml lsphp82-opcache lsphp82-soap
lsphp-gd
և lsphp-mbstring
փաթեթները դեռևս բացակայում են պահոցից: Այսպիսով, եթե դուք ցանկանում եք դրանք, ապա ձեզ հարկավոր կլինի մի քիչ սպասել, մինչև դրանք պաշտոնապես թողարկվեն:
Ստուգեք PHP-ի տեղադրումը:
$ /usr/local/lsws/lsphp82/bin/php -v
PHP 8.2.1 (cli) (built: Jan 3 2023 18:40:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies
with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies
Դուք կարող եք ստուգել միացված PHP մոդուլների ցանկը:
$ /usr/local/lsws/lsphp82/bin/php --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
random
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
Մենք կկարգավորենք OpenLiteSpeed-ը, որպեսզի հետագայում աշխատի PHP-ի հետ:
Քայլ 4 - Տեղադրեք MySQL
Տեղադրեք MySQL սերվերը:
$ sudo dnf install mysql-server
Միացնել և գործարկել MySQL սերվերը:
$ sudo systemctl enable mysqld --now
Ստուգեք ծառայության կարգավիճակը:
$ sudo systemctl status mysqld
Դուք կստանաք հետևյալ արդյունքը.
? mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2023-02-17 07:31:00 UTC; 2s ago
Process: 14933 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
Process: 14955 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
Main PID: 15054 (mysqld)
Status: "Server is operational"
Tasks: 39 (limit: 5873)
Memory: 427.1M
CPU: 4.079s
CGroup: /system.slice/mysqld.service
??15054 /usr/libexec/mysqld --basedir=/usr
Feb 17 07:30:51 nspeaks.xyz systemd[1]: Starting MySQL 8.0 database server...
Feb 17 07:30:51 nspeaks.xyz mysql-prepare-db-dir[14955]: Initializing MySQL database
Feb 17 07:31:00 nspeaks.xyz systemd[1]: Started MySQL 8.0 database server.
Գործարկեք MySQL անվտանգության սկրիպտը:
$ sudo mysql_secure_installation
Դուք կստանաք մի քանի հուշումներ: Առաջին հուշումը կհարցնի, թե արդյոք ցանկանում եք տեղադրել վավերացման գաղտնաբառի հավելվածը: Սեղմեք Y՝ plugin-ը տեղադրելու համար: Որպես անվտանգության մակարդակ ընտրեք 2-ը, որը կպահանջի, որ ձեր գաղտնաբառը լինի առնվազն 8 նիշ և ներառի մեծատառ, փոքրատառ, թվային և հատուկ նիշերի խառնուրդ:
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Հաջորդը, ձեզանից կպահանջվի ստեղծել հզոր արմատային գաղտնաբառ: Համոզվեք, որ ձեր գաղտնաբառը համապատասխանում է Validate plugin-ի պահանջներին:
Please set the password for root here.
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Հաջորդը, ձեզանից կպահանջվեն մի քանի հուշումներ՝ կապված տվյալների բազայի անվտանգության բարձրացման հետ: Յուրաքանչյուր հուշում սեղմեք Y:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
Մուտք գործեք MySQL վահանակ:
$ mysql -u root -p
Մուտքագրեք ձեր արմատային գաղտնաբառը, երբ պահանջվում է:
Ստեղծեք թեստային տվյալների բազա և օգտատեր՝ մուտքի թույլտվությամբ: Փոխարինեք testdb
և testuser
-ը ձեր կարգավորումների համապատասխան անուններով: Փոխարինեք գաղտնաբառ
-ը ուժեղ գաղտնաբառով:
mysql> CREATE DATABASE testdb;
mysql> CREATE USER 'testuser' IDENTIFIED BY 'Your_Password123';
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
mysql> FLUSH PRIVILEGES;
Դուրս եկեք MySQL վահանակից:
mysql> exit
Քայլ 5 - Կարգավորեք OpenLiteSpeed-ը
Վերադարձեք HTTP պորտը 80
Եկեք փոխենք լռելյայն HTTP պորտը 80-ի: Մուտք գործեք ձեր ադմինիստրատիվ վահանակ՝ http://
հասցեով՝ հենց նոր ստեղծված հավատարմագրերով:
Այցելեք Լսողների բաժինը ձախից: Դուք կտեսնեք լռելյայն լսողներին 8080
պորտով:
Սեղմեք Դիտել կոճակը՝ մանրամասն կոնֆիգուրացիան տեսնելու համար: Հաջորդ էջում՝ Լսողի լռելյայն > Ընդհանուր էջի տակ, սեղմեք Խմբագրել պատկերակը և փոխեք նավահանգիստը 8080
-ից 80: կոդը>.
Սեղմեք Պահպանել և վերագործարկել սերվերը՝ սեղմելով Graceful restart կոճակը:
Քայլ 6 - Կարգավորեք PHP-ն
Այս քայլում մենք պետք է կապենք PHP 8.2-ի մեր պատճենը սերվերի հետ:
Սեղմեք Սերվերի կազմաձևում բաժինը ձախ կողմում, այնուհետև ներդիրում Արտաքին հավելված: Դուք կտեսնեք գոյություն ունեցող LiteSpeed հավելված PHP-ի համար: Մենք որոշ խմբագրումներ կանենք դրանում։
Սեղմեք Խմբագրել կոճակը՝ PHP հավելվածը խմբագրելու համար:
Հաջորդը, համապատասխանեք կազմաձևին, ինչպես ցույց է տրված ստորև: Մնացած բոլոր դաշտերը դատարկ թողեք։
Name: lsphp
Address: uds://tmp/lshttpd/lsphp.sock
Max Connections: 35
Environment: PHP_LSAPI_MAX_REQUESTS=500
PHP_LSAPI_CHILDREN=35
LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs): 60
Retry Timeout : 0
Persistent Connection: Yes
Response Buffering: no
Start By Server: Yes(Through CGI Daemon)
Command: lsphp82/bin/lsphp
Back Log: 100
Instances: 1
Priority: 0
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500
Ավարտելուց հետո սեղմեք Պահպանել:
Այժմ, երբ մենք ստեղծել ենք մեր սեփական PHP 8.2 հավելվածը, մենք պետք է ասենք սերվերին, որ սկսի օգտագործել այն: Քանի որ մենք խմբագրել ենք լռելյայն ցանկը, այն արդեն կազմաձևված է: Վերագործարկեք սերվերը` սեղմելով Գեղեցիկ վերագործարկում կոճակը:
Ստուգելու համար, թե արդյոք ձեր PHP-ն ճիշտ է փոխարկվել, այցելեք http://
ձեր բրաուզերում:
Քայլ 7 - Ստեղծեք VirtualHost
Նախ, մենք պետք է դիրեկտորիաներ ստեղծենք մեր վիրտուալ հոսթի համար:
$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p
html
գրացուցակը կպահի հանրային ֆայլերը, իսկ logs
գրացուցակը կպարունակի սերվերի տեղեկամատյաններ:
Այնուհետև բացեք Ադմինիստրատորի վահանակը, ձախից մուտք գործեք «Վիրտուալ հոսթեր» բաժին և սեղմեք «Ավելացնել» կոճակը:
Լրացրեք արժեքները, ինչպես նշված է
Virtual Host Name: example.com
Virtual Host Root: $SERVER_ROOT/example.com/
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Follow Symbolic Link: Yes
Enable Scripts/ExtApps: Yes
Restrained: Yes
External App Set UID Mode: Server UID
Ավարտելուց հետո սեղմեք Պահպանել կոճակը: Դուք կստանաք հետևյալ սխալը, քանի որ կազմաձևման ֆայլն այս պահին գոյություն չունի: Կտտացրեք հղմանը, կազմաձևման ֆայլը ստեղծելու համար:
Կրկին սեղմեք Պահպանել կոճակը՝ Վիրտուալ հոսթի ստեղծումն ավարտելու համար:
Վիրտուալ հոսթինգը ստեղծելուց հետո գնացեք Վիրտուալ հոսթ -> Ընտրեք Վիրտուալ հոսթ(example.com) -> Ընդհանուր և փոխեք կազմաձևը, ինչպես տրված է:
Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable GZIP Compression: Yes
Enable Brotli Compression: Yes
Ավարտելուց հետո սեղմեք Պահել կոճակը: Հաջորդը, մենք պետք է կարգավորենք ինդեքսային ֆայլերը: Սեղմեք խմբագրել կոճակը Ինդեքսի ֆայլերի դեմ Ընդհանուր բաժնի տակ: Սահմանեք հետևյալ ընտրանքները.
Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No
Ավարտելուց հետո սեղմեք Պահպանել: Հաջորդը, մենք պետք է ընտրենք Մատյան ֆայլեր: Գնացեք Մատյան բաժին, սեղմեք «Խմբագրել» ընդդեմ Վիրտուալ հյուրընկալողի մատյանի և լրացրեք հետևյալ արժեքները: Մնացած կարգավորումները թողեք անփոփոխ:
Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Not Set
Դուք կարող եք ընտրել Գրանցման մակարդակը որպես DEBUG
, եթե դուք աշխատում եք արտադրության/մշակման մեքենայի վրա:
Սեղմեք Պահպանել, ապա սեղմեք գումարած նշանը Մուտքի մատյան բաժնում՝ նոր մուտք ավելացնելու համար: Լրացրե՛ք հետևյալ արժեքները.
Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Piped Logger: Not Set
Log Format: Not Set
Log Headers: Not Set
Rolling Size (bytes): 10M
Keep Days: 30
Bytes log: Not Set
Compress Archive: Not Set
Ավարտելուց հետո սեղմեք Պահել: Հաջորդը, մենք պետք է կարգավորենք Մուտքի վերահսկում Անվտանգություն բաժնում: Սահմանեք հետևյալ արժեքները.
Allowed List: *
Denied List: Not set
Ավարտելուց հետո սեղմեք Պահել: Հաջորդը, մենք պետք է սահմանենք Սցենարների մշակման սահմանումը: Սեղմեք գումարած (+) նշանը՝ նոր սահմանում ավելացնելու համար: Սահմանեք հետևյալ արժեքները.
Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp
Ավարտելուց հետո սեղմեք Պահել: Հաջորդը, մենք պետք է կարգավորենք Վերագրել կառավարում՝ Վերագրել բաժնում: Սահմանեք հետևյալ արժեքները.
Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set
Ավարտելուց հետո սեղմեք Պահել: Եվ վերջապես, մենք պետք է սահմանենք Լսողները: Գնացեք Լսողներ բաժին և սեղմեք Դիտել կոճակը` ընդդեմ Լռակյաց ունկնդիր: Այնուհետև կտտացրեք «Ավելացնել» կոճակը` ընդդեմ Վիրտուալ հյուրընկալող քարտեզագրումների՝ նոր քարտեզագրում ավելացնելու և հետևյալ արժեքները սահմանելու համար:
Virtual Host: example.com
Domains: example.com
Ավարտելուց հետո սեղմեք Պահել: Այժմ սեղմեք Գեղեցիկ վերագործարկում կոճակը՝ վերը նշված բոլոր փոփոխությունները կիրառելու և սերվերը վերագործարկելու համար:
Քայլ 8 - Տեղադրեք SSL-ը
OpenLiteSpeed-ում SSL-ի կարգավորումը պահանջում է մեզանից երկու վկայական ստեղծել: Ինքնստորագրված վկայագիր ընդհանուր սերվերի և Let's Encrypt կայքի հատուկ սերվերի համար:
Եկեք նախ ստեղծենք ինքնաստորագրված վկայականը:
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Դուք կստանաք նմանատիպ արդյունք:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:example.com
Email Address []:[email
Դուք կարող եք սեղմել enter բոլոր դաշտերի միջով և դրանք դատարկ թողնել: Լրացրեք ձեր տիրույթը ընդհանուր անվան համար և ձեր էլփոստի հասցեն:
Վկայականներն այժմ պահվում են /home/user
գրացուցակում: Այս տեղեկատվությունը մեզ ավելի ուշ պետք կգա:
Let's Encrypt-ն օգտագործելու համար մենք պետք է տեղադրենք Certbot գործիքը: Դրա համար մենք կօգտագործենք Snapd փաթեթի տեղադրիչը։ Քանի որ Rocky Linux-ը դրա հետ չի առաքվում, տեղադրեք Snapd տեղադրիչը: Այն պահանջում է, որ EPEL պահեստը աշխատի:
$ sudo dnf install -y epel-release
Տեղադրեք Snapd-ը:
$ sudo dnf install -y snapd
Միացնել և գործարկել Snap ծառայությունը:
$ sudo systemctl enable snapd --now
Տեղադրեք Snap հիմնական փաթեթը և համոզվեք, որ Snapd-ի ձեր տարբերակը արդիական է:
$ sudo snap install core && sudo snap refresh core
Ստեղծեք անհրաժեշտ հղումներ Snapd-ի աշխատանքի համար:
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Certbot-ը տեղադրելու համար թողարկեք հետևյալ հրամանը.
$ sudo snap install --classic certbot
Օգտագործեք հետևյալ հրամանը՝ համոզվելու համար, որ Certbot հրամանը կարող է գործարկվել՝ ստեղծելով խորհրդանշական հղում դեպի /usr/bin
գրացուցակը:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Ստուգեք տեղադրումը:
$ certbot --version
certbot 2.3.0
Գործարկեք հետևյալ հրամանը՝ SSL վկայական ստեղծելու համար:
Ստացեք SSL վկայագիր: Webroot գրացուցակը դրված է ավելի վաղ կազմաձևված հանրային HTML գրացուցակում:
$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email -d example.com
Ստեղծեք Diffie-Hellman խումբ վկայագիր:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Ստուգելու համար, թե արդյոք SSL-ի նորացումը լավ է աշխատում, կատարեք գործընթացը չոր:
$ sudo certbot renew --dry-run
Եթե սխալներ չեք տեսնում, ամեն ինչ պատրաստ է: Ձեր վկայականը ինքնաբերաբար կերկարաձգվի:
Այժմ բացեք ադմինիստրատորի վահանակը և անցեք Listeners >> Ավելացնել նոր լսող և ավելացրեք հետևյալ արժեքները:
Listener Name: SSL
IP Address: ANY
Port: 443
Secure: Yes
Ավարտելուց հետո սեղմեք Պահել: Հաջորդը, անցեք Վիրտուալ հյուրընկալողի քարտեզագրումներ բաժինը SSL ունկնդիրի տակ՝ սեղմելով SSL-ի վրա, սեղմելով Ավելացնել կոճակը և լրացնելով հետևյալ արժեքները:
Virtual Host: example.com
Domains: example.com
Ավարտելուց հետո սեղմեք Պահել: Այնուհետև անցեք Լսողներ >> SSL Լսող >> SSL ներդիր >>SSL Անձնական բանալի և Վկայական (Խմբագրել կոճակը) և լրացրեք հետևյալ արժեքները նախկինում ստեղծած ինքնաստորագրված վկայագրի համար:
Private Key File: /home/user/key.pem
Certificate File: /home/user/cert.pem
Chained Certificate: Yes
Ավարտելուց հետո սեղմեք Պահել: Հաջորդը, գնացեք Listeners >> SSL Lister >> SSL Tab >> SSL Protocol (Խմբագրել կոճակը) և լրացրեք հետևյալ արժեքները SSL արձանագրության և ծածկագրի մանրամասների համար:
Protocol Version: TLS v1.2 TLS v1.3
Ciphers: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384
Enable ECDH Key Exchange: Yes
Enable DH Key Exchange: Yes
DH Parameter: /etc/ssl/certs/dhparam.pem
Ավարտելուց հետո սեղմեք Պահել: Հաջորդը, գնացեք Վիրտուալ հյուրընկալողներ >> example.com >> SSL ներդիր >> SSL մասնավոր բանալի և վկայական (Խմբագրել կոճակը) և լրացրեք հետևյալ արժեքները Let's Encrypt Certificate-ով:
Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
Chained Certificate: Yes
Ավարտելուց հետո սեղմեք Պահել: Հաջորդը, գնացեք Վիրտուալ հոսթեր >> example.com >> SSL ներդիր >> OCSP Stapling (Խմբագրել կոճակը) և լրացրեք հետևյալ արժեքները՝ OCSP Stapling-ը միացնելու համար:
Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org
Ավարտելուց հետո սեղմեք Պահել: Հաջորդը, գնացեք Վիրտուալ հոսթեր >> example.com >> SSL ներդիր >> Անվտանգություն (Խմբագրել կոճակը) և լրացրեք հետևյալ արժեքները՝ HTTP3/QUIC արձանագրությունը միացնելու համար:
Enable HTTP3/QUIC: Yes
Մեզ պետք չէ միացնել այլ տարբերակներ, քանի որ դրանք լռելյայն միացված են:
Ավարտելուց հետո սեղմեք Պահել:
Վերագործարկեք սերվերը՝ սեղմելով Graceful restart կոճակը:
Քայլ 9 - Փորձարկման կայք
Ստեղծեք թեստային ֆայլ ձեր html
գրացուցակում:
$ sudo nano /usr/local/lsws/example.com/html/index.php
Տեղադրեք հետևյալ կոդը Nano խմբագրիչում.
<html>
<head>
<h2>OpenLiteSpeed Server Install Test</h2>
</head>
<body>
<?php echo '<p>Hello,</p>';
// Define PHP variables for the MySQL connection.
$servername = "localhost";
$username = "testuser";
$password = "password";
// Create a MySQL connection.
$conn = mysqli_connect($servername, $username, $password);
// Report if the connection fails or is successful.
if (!$conn) {
exit('<p>Your connection has failed.<p>' . mysqli_connect_error());
}
echo '<p>You have connected successfully.</p>';
?>
</body>
</html>
Բացեք URL https://example.com
բրաուզերում և կտեսնեք հետևյալ էջը:
Փորձարկման վայրը լիովին գործում է: Դուք կարող եք սկսել օգտագործել սերվերը դինամիկ PHP կայքերի և հավելվածների սպասարկման համար:
Եզրակացություն
Սա ավարտում է Rocky Linux 9 սերվերի վրա LOMP Stack-ը (OpenLiteSpeed, MySQL և PHP) տեղադրելու մեր ձեռնարկը: Եթե ունեք հարցեր, տեղադրեք դրանք ստորև ներկայացված մեկնաբանություններում: