Si të instaloni Moodle me Nginx dhe Free Lets Encrypt SSL në Ubuntu 22.04
Moodle është një Sistem i Menaxhimit të Mësimit dhe CMS pa pagesë dhe me burim të hapur i shkruar në PHP. Ai i lejon tutorët dhe instruktorët të krijojnë kurse për studentët e tyre dhe siguron arsimim në distanca të gjata dhe programe të tjera mësimore në internet më të aksesueshme. Moodle ofron një panel kontrolli të thjeshtë, miqësor dhe të personalizuar që i ndihmon përdoruesit të aksesojnë kurset aktuale, të kaluara ose të ardhshme dhe të rishikojnë punën në pritje. Ai është krijuar për mësuesit dhe edukatorët që synojnë të ofrojnë arsimim me njohuri teknologjike.
Ky tutorial do t'ju tregojë se si të instaloni Moodle me Nginx dhe Lets Encrypt SSL në Ubuntu 22.04.
Parakushtet
- Një server që ekzekuton Ubuntu 22.04.
- Një emër i vlefshëm domeni i treguar me IP-në e serverit tuaj.
- Një fjalëkalim rrënjësor është konfiguruar në server.
Fillimi
Së pari, duhet të përditësoni paketat e sistemit tuaj në versionin më të fundit. Ju mund t'i përditësoni të gjitha duke ekzekutuar komandën e mëposhtme:
apt-get update -y
Pasi serveri juaj të përditësohet, mund të vazhdoni në hapin tjetër.
Instaloni Nginx, MariaDB dhe PHP
Para se të filloni, do t'ju duhet të instaloni Apache, MariaDB, PHP dhe bibliotekat e tjera PHP në sistemin tuaj. Së pari, instaloni serverin Apache dhe MariaDB duke përdorur komandën e mëposhtme:
apt-get install nginx mariadb-server -y
Si parazgjedhje, Ubuntu 22.04 dërgohet me versionin PHP 8.1 dhe Moodle nuk e mbështet këtë version PHP. Kështu që do t'ju duhet të instaloni PHP 7.4 në serverin tuaj.
Së pari, instaloni të gjitha varësitë e nevojshme duke përdorur komandën e mëposhtme:
apt install software-properties-common ca-certificates lsb-release apt-transport-https -y
Më pas, shtoni depon e PHP në serverin tuaj me komandën e mëposhtme:
add-apt-repository ppa:ondrej/php
Më pas, përditësoni depon duke përdorur komandën e mëposhtme:
apt update
Pasi të përditësohet depoja, instaloni PHP me shtesa të tjera të kërkuara duke përdorur komandën e mëposhtme:
apt install php7.4 php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-soap php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip unzip git curl -y
Pasi të instalohen të gjitha paketat, modifikoni skedarin php.ini dhe ndryshoni disa cilësime:
nano /etc/php/7.4/fpm/php.ini
Ndryshoni linjat e mëposhtme:
memory_limit = 256M
max_input_vars = 6000
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = UTC
Ruani dhe mbyllni skedarin, më pas rinisni shërbimin PHP-FPM për të aplikuar ndryshimet:
systemctl restart php7.4-fpm
Pasi të keni mbaruar, mund të vazhdoni në hapin tjetër.
Krijo një bazë të dhënash për Moodle
Moodle përdor MySQL ose MariaDB si një bazë të dhënash, kështu që do t'ju duhet të krijoni një bazë të dhënash dhe përdorues për Moodle.
Së pari, lidheni me guaskën MySQL me komandën e mëposhtme:
mysql
Pasi të identifikoheni, krijoni një bazë të dhënash dhe përdorues me komandën e mëposhtme:
CREATE DATABASE moodledb;
CREATE USER 'moodle'@'localhost' IDENTIFIED BY 'password';
Më pas, jepni të gjitha privilegjet për bazën e të dhënave Moodle me komandën e mëposhtme:
GRANT ALL ON moodledb.* TO 'moodle'@'localhost' WITH GRANT OPTION;
Më pas, lani privilegjet dhe dilni nga MySQL me komandën e mëposhtme:
FLUSH PRIVILEGES;
EXIT;
Më pas, modifikoni skedarin e konfigurimit të paracaktuar të MariaDB dhe përcaktoni innodb_file_format:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Shtoni rreshtat e mëposhtëm brenda seksionit [mysqld]:
[mysqld]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix = ON
Ruani skedarin, më pas rinisni shërbimin MariaDB për të aplikuar ndryshimet:
systemctl restart mariadb
Instaloni Moodle në Ubuntu 22.04
Së pari, ndryshoni drejtorinë në direktorinë rrënjë Apache dhe shkarkoni versionin më të fundit të Moodle me komandën e mëposhtme:
cd /var/www/html
git clone -b MOODLE_400_STABLE git://git.moodle.org/moodle.git moodle
Më pas, vendosni lejen dhe pronësinë e duhur për Moodle:
mkdir -p /var/www/html/moodledata
chown -R www-data:www-data /var/www/html/moodle
chmod -R 755 /var/www/html/*
chown www-data:www-data /var/www/html/moodledata
Pasi të keni mbaruar, mund të vazhdoni në hapin tjetër.
Konfiguro Nginx për Moodle
Më pas, do t'ju duhet të krijoni një skedar konfigurimi të hostit virtual Nginx për të pritur Moodle:
nano /etc/nginx/conf.d/moodle.conf
Shtoni rreshtat e mëposhtëm:
server {
listen 80;
root /var/www/html/moodle;
index index.php index.html index.htm;
server_name moodle.example.com;
client_max_body_size 100M;
autoindex off;
location / {
try_files $uri $uri/ =404;
}
location /dataroot/ {
internal;
alias /var/www/html/moodledata/;
}
location ~ [^/].php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Ruani dhe mbyllni skedarin, më pas verifikoni Nginx për çdo gabim sintaksor me komandën e mëposhtme:
nginx -t
Ju duhet të merrni daljen e mëposhtme:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Më në fund, rinisni shërbimin Nginx për të aplikuar ndryshimet:
systemctl restart nginx
Ju gjithashtu mund të kontrolloni statusin e shërbimit Nginx duke përdorur komandën e mëposhtme:
systemctl status nginx
Ju duhet të shihni daljen e mëposhtme:
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-07-18 07:08:50 UTC; 26s ago
Docs: man:nginx(8)
Process: 51379 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 51382 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 51383 (nginx)
Tasks: 3 (limit: 4579)
Memory: 3.6M
CPU: 64ms
CGroup: /system.slice/nginx.service
??51383 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
??51384 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
??51385 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
Jul 18 07:08:50 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 18 07:08:50 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
Në këtë pikë, Nginx është konfiguruar të presë Moodle. Tani mund të vazhdoni në hapin tjetër.
Hyni në ndërfaqen e internetit të Moodle
Tani, hapni shfletuesin tuaj të internetit dhe hyni në ndërfaqen e internetit të Moodle duke përdorur URL-në http://moodle.example.com. Ju duhet të shihni faqen e instalimit të Moodle:
Zgjidhni gjuhën tuaj dhe klikoni në Tjetër. Ju duhet të shihni faqen e mëposhtme:
Jepni adresën tuaj të internetit në Moodle, shtegun e drejtorisë, shtegun e drejtorisë së të dhënave dhe klikoni në Tjetër. Ju duhet të shihni faqen e mëposhtme:
Zgjidhni llojin e drejtuesit të bazës së të dhënave dhe klikoni në Next. Ju duhet të shihni faqen e mëposhtme:
Jep hostin e bazës së të dhënave, emrin e bazës së të dhënave, emrin e përdoruesit, fjalëkalimin dhe kliko Tjetër. Ju duhet të shihni faqen e mëposhtme:
Klikoni në Vazhdo për të konfirmuar të gjitha kushtet. Ju duhet të shihni faqen e mëposhtme:
Sigurohuni që janë instaluar të gjitha shtesat e kërkuara PHP dhe më pas klikoni në Vazhdo. Ju duhet të shihni faqen e mëposhtme:
Klikoni në Vazhdo. Ju duhet të shihni faqen e mëposhtme:
Jepni emrin e përdoruesit të administratorit, fjalëkalimin, emailin, shtetin, zonën kohore dhe klikoni në profilin Përditëso. Ju duhet të shihni faqen e mëposhtme:
Jepni cilësimet e faqes së parë dhe klikoni në butonin Ruaj ndryshimet për të ruajtur ndryshimet.
Siguro Moodle me Lets Encrypt SSL
Më pas, do t'ju duhet të instaloni mjetin Certbot për të shkarkuar Lets Encrypt SSL dhe konfiguroni Nginx për të përdorur këtë SSL.
Së pari, instaloni Certbot me komandën e mëposhtme:
apt-get install python3-certbot-nginx -y
Pasi të instalohet, ekzekutoni komandën e mëposhtme për të shkarkuar të gjithë SSL dhe konfiguroni Nginx për ta përdorur atë:
certbot --nginx -d moodle.example.com
Do t'ju kërkohet të jepni një adresë të vlefshme emaili dhe të pranoni afatin e shërbimit siç tregohet më poshtë:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for moodle.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/moodle.conf
Më pas, zgjidhni nëse do të ridrejtoni apo jo trafikun HTTP në HTTPS siç tregohet më poshtë:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Shkruani 2 dhe shtypni Enter për të vazhduar. Ju duhet të shihni daljen e mëposhtme:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/moodle.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://moodle.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=moodle.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/moodle.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/moodle.example.com/privkey.pem
Your cert will expire on 2022-10-19. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.
Tani mund të hyni në faqen e internetit të Moodle duke përdorur URL-në http://moodle.example.com
konkluzioni
urime! ju keni instaluar me sukses Moodle me Nginx dhe Lets Encrypt SSL në Ubuntu 22.04. Tani mund të eksploroni veçoritë e Moodle dhe të krijoni lehtësisht sistemin tuaj të menaxhimit të mësimit në internet. Mos ngurroni të më pyesni nëse keni ndonjë pyetje