Zainstaluj Moodle na Ubuntu 17.04 | 17.10 z Nginx, MariaDB, PHP i Let's Encrypt SSL

  • Richard Poole
  • 0
  • 5010
  • 522

Moodle to darmowy system zarządzania kursami (CMS) oparty na PHP, zaprojektowany, aby pomóc nauczycielom w tworzeniu wspaniałych kursów dla studentów. Wiele renomowanych uniwersytetów i szkół wyższych używa go do prowadzenia kursów online. Studenci również uznają to za łatwe w obsłudze i pracy. Nauczyciele i uczniowie mogą również używać go do współpracy i tworzenia wspaniałych materiałów dydaktycznych.

Ten krótki samouczek pokazuje studentom i nowym użytkownikom, jak łatwo zainstalować Moodle CMS na Ubuntu 17.04 | 17.10 z obsługą Nginx, MariaDB, PHP i Let's Encrypt SSL.

W dzisiejszych środowiskach Moodle jest często instalowany z szyfrowaniem SSL / TLS, dzięki czemu cały ruch do iz materiałów kursu jest chroniony przez HTTPS. Ponadto witryny korzystające z protokołu HTTPS mogą mieć lepszą pozycję w rankingu Google i innych dostawców wyszukiwarek.

Ten post dotyczy instalacji najnowszej wersji Moodle, która w momencie pisania była w wersji 3.3.2+.

Aby rozpocząć instalację Moodle z obsługą Let's Encrypt, wykonaj poniższe czynności:

Krok 1: Zainstaluj Nginx

Moodle wymaga serwera WWW do działania, a obecnie najpopularniejszym serwerem WWW jest Nginx. Więc idź i zainstaluj Nginx na Ubuntu, uruchamiając poniższe polecenia:

sudo apt-get install nginx

Następnie uruchom poniższe polecenia, aby zatrzymać, uruchomić i włączyć usługę Nginx, aby zawsze uruchamiała się wraz z uruchomieniem serwera.

sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl włącz nginx.service 

Krok 2: Zainstaluj MariaDB

Moodle wymaga również serwera bazy danych do działania… a serwer bazy danych MariaDB to świetne miejsce do rozpoczęcia. Aby go zainstalować, uruchom poniższe polecenia.

sudo apt-get install mariadb-server mariadb-client

Po zainstalowaniu poniższych poleceń można używać do zatrzymywania, uruchamiania i włączania usługi MariaDB, aby zawsze uruchamiała się po uruchomieniu serwera.

sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl włącz mariadb.service 

Następnie uruchom poniższe polecenia, aby zabezpieczyć serwer MariaDB.

sudo mysql_secure_installation

Po wyświetleniu monitu odpowiedz na poniższe pytania, postępując zgodnie z instrukcjami.

  • Wprowadź aktualne hasło roota (wpisz żadnego): Po prostu naciśnij Enter
  • Ustawić hasło roota? [T / n]: Y
  • Nowe hasło: wprowadź hasło
  • Ponownie wprowadź nowe hasło: powtórz hasło
  • Usunąć anonimowych użytkowników? [T / n]: Y
  • Nie zezwalać na zdalne logowanie przez roota? [T / n]: Y
  • Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n]: Y
  • Załadować teraz ponownie tabele uprawnień? [T / n]: Y

Następnie otwórz domyślny plik konfiguracyjny MariaDB, uruchamiając poniższe polecenia:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Następnie dodaj poniższe linie tuż poniżej [mysqld] Sekcja.

default_storage_engine = innodb innodb_file_per_table = 1 innodb_file_format = Barracuda innodb_large_prefix = 1 

Zapisz plik i zakończ.

Zrestartuj serwer MariaDB

sudo systemctl zrestartuj mariadb.service

Krok 3: Zainstaluj PHP-FPM i powiązane moduły

Moodle wymaga również PHP do działania. Aby zainstalować PHP i powiązane moduły, uruchom poniższe polecenia

sudo apt-get install php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-mcrypt php-ldap php-zip php-curl

Krok 4: Utwórz bazę danych Moodle

Po zainstalowaniu wszystkich wymaganych pakietów przejdź poniżej, aby rozpocząć konfigurowanie serwerów. Najpierw uruchom poniższe polecenia, aby utworzyć bazę danych Moodle.

Uruchom poniższe komendy, aby zalogować się do serwera bazy danych. Gdy pojawi się monit o hasło, wpisz hasło roota utworzone powyżej.

sudo mysql -u root -p

Następnie utwórz bazę danych o nazwie moodle

UTWÓRZ Moodle DATABASE;

Utwórz użytkownika bazy danych o nazwie moodleuser z nowym hasłem

UTWÓRZ UŻYTKOWNIKA 'moodleuser' @ 'localhost' IDENTIFIED BY 'new_password_here';

Następnie przyznaj użytkownikowi pełny dostęp do bazy danych.

GRANT ALL ON Moodle. * TO „moodleuser” @ „localhost” IDENTIFIED BY „user_password_here” Z OPCJĄ GRANT;

Na koniec zapisz zmiany i wyjdź.

PRZYWILEJE SPŁUKIWANIA; WYJŚCIE; 

Krok 5: Pobierz najnowsze wydanie Moodle

Następnie uruchom poniższe polecenia, aby pobrać najnowszą wersję Moodle. Poniższe polecenia do pobrania pakietu archiwum Moodle.

cd / tmp && wget https://download.moodle.org/download.php/direct/stable33/moodle-latest-33.tgz

Następnie uruchom poniższe polecenia, aby wyodrębnić pobrany plik do domyślnego katalogu głównego Nginx.

tar -zxvf moodle-latest-33.tgz sudo mv moodle / var / www / html / moodle sudo mkdir / var / www / html / moodledata

Zmień, zmodyfikuj uprawnienia do katalogu.

sudo chown -R www-data: www-data / var / www / html / moodle / sudo chmod -R 755 / var / www / html / moodle / sudo chown www-data / var / www / html / moodledata 

Krok 6: Skonfiguruj Nginx

Na koniec skonfiguruj plik konfiguracyjny witryny Apahce2 dla Moodle. Ten plik będzie kontrolował sposób, w jaki użytkownicy uzyskują dostęp do zawartości Moodle. Uruchom poniższe polecenia, aby utworzyć nowy plik konfiguracyjny o nazwie moodle

sudo nano /etc/nginx/sites-available/moodle.conf

Następnie skopiuj i wklej poniższą zawartość do pliku i zapisz go. Zastąp podświetlony wiersz własną nazwą domeny i katalogiem głównym.

serwer nasłuchuj 80; słuchaj [::]: 80; root / var / www / html / moodle; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / try_files $ uri $ uri / = 404;  lokalizacja / dataroot / wewnętrzna; alias / var / www / html / moodledata / lokalizacja ~ [^ /] \. php (/ | $) fastcgi_split_path_info ^ (. + \. php) (/.+) $; fastcgi_index index.php; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; #Ubuntu 17.10 # fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; #Ubuntu 17.04 include fastcgi_params; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; 

Zapisz plik i zakończ.

Krok 7: Włącz witrynę Moodle

Po skonfigurowaniu VirtualHost powyżej, włącz go, uruchamiając poniższe polecenia

sudo ln -s / etc / nginx / sites-available / moodle / etc / nginx / sites-enabled /

Krok 8: Uruchom ponownie Nginx

Aby załadować wszystkie powyższe ustawienia, uruchom ponownie Nginx, uruchamiając poniższe polecenia.

sudo systemctl zrestartuj nginx.service

KROK 9: OTRZYMAJ I SKONFIGURUJEMY SZYFIKUJ CERTYFIKATY SSL

Teraz, gdy konfiguracja Moodle jest zakończona, przejdź poniżej, aby zainstalować i skonfigurować Let's Encrypt. Let's Encrypt udostępnia teraz moduł Nginx do automatyzacji tego procesu. Aby zainstalować klienta / moduł w systemie Ubuntu, uruchom poniższe polecenia

sudo add-apt-repository ppa: certbot / certbot sudo apt-get aktualizacja sudo apt-get install python-certbot-nginx

Następnie uruchom poniższe polecenia, aby uzyskać bezpłatny certyfikat Let's Encrypt SSL / TLS dla swojej witryny.

sudo certbot --nginx -m [email protected] -d example.com -d www.example.com

Po uruchomieniu powyższych poleceń powinien zostać wyświetlony monit o zaakceptowanie warunków licencji. Jeśli wszystko jest zaznaczone, klient powinien automatycznie zainstalować bezpłatny certyfikat SSL / TLS i skonfigurować witrynę Nginx do korzystania z certyfikatów.

Przeczytaj Warunki korzystania z usługi na stronie https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Musisz wyrazić zgodę, aby zarejestrować się na serwerze ACME pod adresem https://acme-v01.api.letsencrypt.org/directory ----------------------- -------------------------------------------------- ------ (A) gree / (C) ancel: A 

Wybierz Tak (Y), aby udostępnić swój adres e-mail

Czy chciałbyś udostępnić swój adres e-mail Electronic Frontier Foundation, partnerowi założycielowi projektu Let's Encrypt i organizacji non-profit, która rozwija Certbot? Chcielibyśmy wysłać Ci wiadomość e-mail o EFF i naszej pracy nad szyfrowaniem sieci, ochroną jej użytkowników i ochroną praw cyfrowych. -------------------------------------------------- ----------------------------- (Y) es / (N) o: Y 

Oto, jak łatwo jest uzyskać bezpłatny certyfikat SSL / TLS dla swojej witryny opartej na Nginx.

Wybierz, czy przekierowywać ruch HTTP do HTTPS, usuwając dostęp HTTP. -------------------------------------------------- ----------------------------- 1: bez przekierowania - nie wprowadzaj dalszych zmian w konfiguracji serwera WWW. 2: Przekierowanie - przekierowuj wszystkie żądania do bezpiecznego dostępu HTTPS. Wybierz tę opcję dla nowych witryn lub jeśli masz pewność, że Twoja witryna działa w protokole HTTPS. Możesz cofnąć tę zmianę, edytując konfigurację serwera WWW. -------------------------------------------------- ----------------------------- Wybierz odpowiedni numer [1-2], a następnie [enter] (naciśnij „c”, aby anulować) : 2 

Wybierz opcję 2, aby przekierować cały ruch przez HTTPS. To jest ważne!

Następnie klient SSL powinien zainstalować certyfikat i skonfigurować witrynę tak, aby przekierowywała cały ruch przez HTTPS.

Gratulacje! Pomyślnie włączyłeś https://example.com i https://www.example.com Powinieneś przetestować swoją konfigurację pod adresem: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https : //www.ssllabs.com/ssltest/analyze.html? d = www.example.com ---------------------------- -------------------------------------------------- - WAŻNE UWAGI: - Gratulacje! Twój certyfikat i łańcuch zostały zapisane pod adresem: /etc/letsencrypt/live/example.com/fullchain.pem Twój plik klucza został zapisany pod adresem: /etc/letsencrypt/live/example.com/privkey.pem Twój certyfikat wygaśnie w dniu 2018-02-24. Aby w przyszłości uzyskać nową lub ulepszoną wersję tego certyfikatu, po prostu uruchom ponownie certbot z opcją „certonly”. Aby w sposób nieinteraktywny odnowić * wszystkie * swoje certyfikaty, uruchom „certbot renew” - Jeśli podoba Ci się Certbot, rozważ wsparcie naszej pracy poprzez: Darowizna dla ISRG / Let's Encrypt: https://letsencrypt.org/donate Darowizna dla EFF: https://eff.org/donate-le

Podświetlony blok kodu powinien zostać automatycznie dodany do pliku konfiguracyjnego witryny Nginx Moodle przez certbot Let's Encrypt. Twoja witryna Moodle jest gotowa do użytku przez HTTPS.

serwer nasłuchuj 80; słuchaj [::]: 80; root / var / www / html / moodle; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / try_files $ uri $ uri / = 404;  lokalizacja / dataroot / wewnętrzna; alias / var / www / html / moodledata / lokalizacja ~ [^ /] \. php (/ | $) fastcgi_split_path_info ^ (. + \. php) (/.+) $; fastcgi_index index.php; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; #Ubuntu 17.10 # fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; #Ubuntu 17.04 include fastcgi_params; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;  Listen 443 ssl; # zarządzany przez Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # zarządzany przez Certbot ssl_certificate_key /etc/letsencrypt/live/mymodle.com/privkey.pem; # zarządzany przez Certbot to /etc/letsencrypt/options-ssl-nginx.conf; # zarządzany przez Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # zarządzany przez Certbot if ($ scheme! = "https") return 301 https: // $ host $ request_uri;  # zarządzany przez Certbot # Przekierowywanie ruchu innego niż https do https # if (schemat $! = "https") # return 301 https: // $ host $ request_uri; # # zarządzany przez Certbot 

Następnie otwórz przeglądarkę i przejdź do nazwy domeny, aby uruchomić kreatora konfiguracji Moodle. Powinien pojawić się kreator instalacji Moodle… Postępuj zgodnie z instrukcjami kreatora

Następnie przejdź do nazwy hosta serwera lub adresu IP i powinieneś zobaczyć kreatora konfiguracji witryny Moodle.

https://example.com

Zaakceptuj domyślny katalog plików i kontynuuj

Pamiętaj, aby wybrać z listy sterownik bazy danych MariaDB

Wprowadź informacje o połączeniu z bazą danych i kontynuuj.

Wpisz administratora i hasło do witryny i kontynuuj.

Postępuj zgodnie z instrukcjami kreatora, aż skończysz konfigurować witrynę. Kiedy skończysz, Moodle powinien być zainstalowany i gotowy do użycia.

Gratulacje! Pomyślnie zainstalowałeś Moodle z darmowymi certyfikatami SSL Let's Encrypt.

Aby skonfigurować proces automatycznego odnawiania certyfikatów, dodaj zadanie cron, aby wykonać proces odnawiania.

sudo crontab -e

Następnie dodaj poniższą linię i zapisz.

0 1 * * * / usr / bin / certbot odnowienie &> / dev / null

Zadanie cron podejmie próbę odnowienia 30 dni przed wygaśnięciem

Cieszyć się!




Jeszcze bez komentarzy