Zainstaluj Moodle na Ubuntu LTS z Apache2, MariaDB, PHP 7.1 i Let's Encrypt Free SSL / TLS

  • Richard Poole
  • 0
  • 2302
  • 714

Przy podejmowaniu decyzji, którego systemu zarządzania open source użyć, dostępnych jest kilka opcji… Podstawowym i najpopularniejszym jest Moodle… Zanim wybierzesz platformę kursów typu open source inną niż Moodle, najpierw wypróbuj Moodle…

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 swoich 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 serwerze Ubuntu 16.04 LTS z obsługą Apache2, 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 Apache2

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

sudo apt-get install apache2

Po zainstalowaniu Apache2 uruchom poniższe polecenia, aby wyłączyć wyświetlanie katalogów.

sudo sed -i "s / Options Indeksy FollowSymLinks / Options FollowSymLinks /" /etc/apache2/apache2.conf

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

sudo systemctl stop apache2.service sudo systemctl start apache2.service sudo systemctl włącz apache2.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 mysql.service sudo systemctl start mysql.service sudo systemctl włącz mysql.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 mysql.service

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

PHP 7.1 nie jest dostępne w domyślnych repozytoriach Ubuntu… aby go zainstalować, musisz go pobrać z repozytoriów innych firm.

Uruchom poniższe polecenia, aby dodać poniższe repozytorium stron trzecich w celu aktualizacji do PHP 7.1

sudo apt-get install właściwości-oprogramowania-common sudo add-apt-repository ppa: ondrej / php

Następnie zaktualizuj i zaktualizuj do PHP 7.1

sudo apt update

Uruchom poniższe polecenia, aby zainstalować PHP 7.1 i powiązane moduły.

sudo apt zainstaluj php7.1 libapache2-mod-php7.1 php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-mydło php7.1-gd php7.1-xml php7.1-intl php7. 1-mysql php7.1-cli php7.1-mcrypt php7.1-ldap php7.1-zip php7.1-curl

Po zainstalowaniu PHP uruchom poniższe polecenia, aby otworzyć domyślny plik PHP-FPM.

sudo nano /etc/php/7.1/apache2/php.ini

Następnie zmień poniższe wiersze w pliku i zapisz. Możesz zwiększyć wartość, aby dostosować się do swojego środowiska.

file_uploads = On allow_url_fopen = On memory_limit = 256 mln upload_max_filesize = 64 mln max_execution_time = 360 cgi.fix_pathinfo = 0 date.timezone = America / Chicago

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 Apache2.

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 Apache2

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/apache2/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.

 ServerAdmin [email protected] DocumentRoot / var / www / html / moodle / ServerName example.com ServerAlias ​​www.example.com ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log łącznie  

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 a2ensite moodle.conf

Krok 8: Uruchom ponownie Apache2

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

sudo systemctl zrestartuj apache2.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ł Apache2 do automatyzacji tego procesu. Aby zainstalować klienta / moduł w systemie Ubuntu, uruchom poniższe polecenia

sudo apt-get install python-certbot-apache

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

sudo certbot --apache -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ę Apache2 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 Apache2 Moodle przez certbot Let's Encrypt. Twoja witryna Moodle jest gotowa do użytku przez HTTPS.

 ServerAdmin [email protected] DocumentRoot / var / www / html / moodle / ServerName example.com ServerAlias ​​www.example.com ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log połączone RewriteEngine on RewriteCond%  SERVER_NAME = example.com [LUB] RewriteCond% SERVER_NAME = www.example.com RewriteRule ^ https: //% SERVER_NAME% REQUEST_URI [END, NE, R = permanent] 

Należy również utworzyć nowy plik konfiguracyjny dla domeny o nazwie /etc/apache2/sites-available/moodle-le-ssl.conf. To jest plik konfiguracyjny modułu Apache2 SSL i powinien zawierać zdefiniowane w nim definicje certyfikatów.

  ServerAdmin [email protected] DocumentRoot / var / www / html / moodle / ServerName example.com ServerAlias ​​www.example.com ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log połączone SSLCertificateFile / etc / letsencrypt /live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf  

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

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux