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

  • George Richardson
  • 0
  • 2913
  • 924

Joomla jest potężnym i popularnym systemem zarządzania treścią (CMS) używanym przez webmasterów i właścicieli witryn do tworzenia dynamicznych witryn i blogów. Jeśli zamierzasz prowadzić dynamiczną witrynę lub blog i chcesz łatwo nim zarządzać, możesz rzucić okiem na Joomla, aby Ci pomóc.

W dzisiejszych środowiskach Joomla jest często instalowana z szyfrowaniem SSL / TLS, dzięki czemu cały ruch do i ze strony internetowej 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 krótki samouczek pokaże studentom i nowym użytkownikom, jak zainstalować Joomla na Ubuntu 17.04 | 17.10 z obsługą Nginx, MariaDB, PHP i Let's Encrypt. Gdy skończysz, Twoja witryna zostanie automatycznie skonfigurowana do korzystania z protokołu HTTPS dla całego ruchu.

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

Krok 1: Zainstaluj Nginx

Joomla wymaga serwera WWW do działania, a drugim najpopularniejszym serwerem sieciowym w dzisiejszych czasach jest Nginx. Więc idź i zainstaluj Nginx na Ubuntu, uruchamiając poniższe polecenia:

sudo apt 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

Joomla 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

Zrestartuj serwer MariaDB

sudo systemctl zrestartuj mariadb.service

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

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

sudo apt zainstaluj php-fpm php-common php-mbstring php-xmlrpc php-mydło php-gd php-xml php-intl php-mysql php-cli php-mcrypt php-ldap php-zip php-curl

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

sudo nano /etc/php/7.1/fpm/php.ini # Ubuntu 17.10 sudo nano /etc/php/7.0/fpm/php.ini # Ubuntu 17.04 

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

max_execution_time = 180 max_input_time = 60 memory_limit = 256 mln upload_max_filesize = 64 mln cgi.fix_pathinfo = 0 

Krok 4: Utwórz bazę danych Joomla

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

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 joomla

STWÓRZ BAZĘ DANYCH joomla;

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

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

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

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

Na koniec zapisz zmiany i wyjdź.

PRZYWILEJE SPŁUKIWANIA; WYJŚCIE; 

Krok 5: Pobierz najnowszą wersję Joomla

Następnie odwiedź witrynę Joomla i pobierz najnowszy pakiet…. lub uruchom poniższe polecenia, aby pobrać i wyodrębnić zawartość Joomla.

Po pobraniu uruchom poniższe polecenia, aby wyodrębnić pobrany plik i przenieść go do nowego katalogu głównego Joomla.

cd / tmp && wget https://github.com/joomla/joomla-cms/releases/download/3.8.2/Joomla_3.8.2-Stable-Full_Package.zip sudo apt-get install unzip sudo unzip Joomla * .zip sudo mkdir -p / var / www / html / joomla sudo rozpakuj Joomla * .zip -d / var / www / html / joomla 

Następnie uruchom poniższe polecenia, aby ustawić odpowiednie uprawnienia dla Joomla do prawidłowego działania.

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

Krok 6: Skonfiguruj witrynę Nginx Joomla

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

sudo nano / etc / nginx / sites-available / joomla

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 / joomla; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / try_files $ uri $ uri / /index.php?$args;  lokalizacja ~ \ .php $ fastcgi_split_path_info ^ (. + \. php) (/.+) $; fastcgi_index index.php; # fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; # dla Ubuntu 17.04 fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; # dla Ubuntu 17.10 dołącz 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ę Joomla

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

sudo ln -s / etc / nginx / sites-available / joomla / 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: Uzyskaj i skonfiguruj Let's Encrypt SSL Certificates

Teraz, gdy konfiguracja Joomla jest zakończona, kontynuuj 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 Joomla przez Let's Encrypt certbot. Twoja witryna Joomla jest gotowa do użycia przez HTTPS.

serwer nasłuchuj 80; słuchaj [::]: 80; root / var / www / html / joomla; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / try_files $ uri $ uri / /index.php?$args;  lokalizacja ~ \ .php $ fastcgi_split_path_info ^ (. + \. php) (/.+) $; fastcgi_index index.php; # fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; # dla Ubuntu 17.04 fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; # dla Ubuntu 17.10 to 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/example.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 Joomla. Powinieneś zobaczyć kreatora instalacji Joomla… Postępuj zgodnie z instrukcjami kreatora.

https://example.com

Wpisz informacje o połączeniu z bazą danych i kontynuuj

Na koniec zainstaluj

Po zalogowaniu się do panelu administratora, aby przejść System ==> Konfiguracja globalna… Kliknij na serwer i ustaw Wymuś opcję SSL na całą witrynę.

Gratulacje! Pomyślnie zainstalowałeś Joomla 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