Funkcjonalności warstw architektury referencyjnej Big Data
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Ten samouczek pokazuje OpenBSD jako rozwiązanie e-commerce wykorzystujące PrestaShop i Apache.
Wymagany jest Apache, ponieważ PrestaShop ma złożone wymagania dotyczące przepisywania adresów URL, które nie są obsługiwane przez wbudowany serwer WWW OpenBSD, httpd. W tym samouczku używane są certyfikaty z podpisem własnym. Do produkcji użyj zweryfikowanego certyfikatu.
Tymczasowo utwórz zwykłego użytkownika, którego można używać doas
bez hasła. Ten dostęp zostanie usunięty po instalacji.
user add -c "Example User" -m -G wheel -L staff auser
passwd auser
echo 'permit nopass keepenv :wheel' > /etc/doas.conf
Dodaj repozytorium pakietów OpenBSD.
echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl
Prześlij codzienne wiadomości e-mail dotyczące statusu i bezpieczeństwa na swój adres.
echo '[email protected]' > /root/.forward
Ustaw nazwę hosta serwera.
echo 'www.example.com' > /etc/myname
hostname www.example.com
Dodaj FQDN i adres IP swojego serwera do /etc/hosts
.
Zamień na 192.0.2.1
swój adres IP Vultr.
127.0.0.1 localhost
::1 localhost
192.0.2.1 www.example.com
Dodaj wymagane pakiety dla PrestaShop i Apache. Po wyświetleniu monitu wybierz najnowsze wersje.
doas su
pkg_add apache-httpd php php-curl php-gd php-intl php-pdo_mysql php-zip mariadb-client mariadb-server wget unzip
Utworzono samopodpisany certyfikat SSL do testowania. Ustaw Common Name na FQDN swojego serwera, np. Www.example.com.
openssl req -x509 -new -nodes -newkey rsa:4096 -keyout /etc/ssl/private/example.com.key -out /etc/ssl/example.com.crt -days 3650 -sha256
chmod 0600 /etc/ssl/private/example.com.key
Znajdź adres URL najnowszej wersji PrestaShop , pobierz /tmp
i wyodrębnij /var/www/htdocs/prestashop
.
cd /tmp
wget <https://download.prestashop.com/download/releases/prestashop_1.7.6.4.zip>
unzip prestashop_1.7.6.4.zip -d /var/www/htdocs/prestashop
chown -R www:www /var/www/htdocs/prestashop
Skonfiguruj zaporę ogniową, aby blokować cały ruch przychodzący z wyjątkiem ssh , www i https .
Wykonaj kopię zapasową /etc/pf.conf
.
cp /etc/pf.conf /etc/pf.conf.bak
Edytuj /etc/pf.conf
jak pokazano.
set skip on lo
block in
pass out
pass in on egress inet proto tcp to port {ssh, www, https} \
flags S/SA keep state
Przetestuj i aktywuj reguły zapory.
doas pfctl -nf /etc/pf.conf
doas pfctl -f /etc/pf.conf
Utwórz kopię zapasową /etc/mail/smtpd.conf
pliku.
cp /etc/mail/smtpd.conf /etc/mail/smtpd.conf.bak
Edytuj, /etc/mail/smtpd.conf
jak pokazano poniżej.
Uwagi: * Definicja tabeli dla sekretów zawiera nazwę użytkownika i hasło dla przekaźnika poczty. * Akcja wychodzące wyszukuje nazwę użytkownika i hasło pod etykietą prestashop
w /etc/mail/secrets
i przekaźników poprzez wiadomość e-mail z serwerem pocztowym.
table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets
listen on lo0
action "local_mail" mbox alias <aliases>
action "outbound" relay host smtp+tls://[email protected]:587 \
tls no-verify auth <secrets>
match from local for local action "local_mail"
match from local for any action "outbound"
Stwórz /etc/mail/secrets
Zastąp adres e-mail i hasło poświadczeniami, których używasz na swoim serwerze e-mail.
echo "prestashop [email protected]:password" > /etc/mail/secrets
Ustaw uprawnienia, aby zabezpieczyć /etc/mail/secrets
chmod 0600 /etc/secrets
Sprawdź plik konfiguracyjny pod kątem błędów i zrestartuj demona smtpd.
smtpd -n
rcctl restart smtpd
Skonfiguruj proces PHP-FPM, aby nasłuchiwał na gnieździe TCP zamiast gniazda domeny UNIX.
Wprowadź poniższą zmianę dla /etc/php-fpm.conf
pliku.
...
; If using a TCP port, never expose this to a public network.
;listen = /var/www/run/php-fpm.sock
listen = 127.0.0.1:9000
Wprowadź dodatkowe zmiany w środowisku PHP w /etc/php-7.3.ini
. Ta nazwa pliku może się nieznacznie zmienić, jeśli wersja jest nowsza niż 7.3. Te zmiany:
Skonfiguruj PHP do wysyłania wiadomości e-mail za pośrednictwem sendmaila.
; Default Value: not set
;chroot = /var/www
...
; Maximum allowed size for uploaded files.
; <http://php.net/upload-max-filesize>
upload_max_filesize = 6M
...
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; <http://php.net/sendmail-path>
;sendmail_path =
sendmail_path = /usr/sbin/sendmail -t -i
...
; Whether to allow the treatment of URLs (like <http://> or <ftp://)> as files.
; <http://php.net/allow-url-fopen>
allow_url_fopen = On
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; <http://php.net/post-max-size>
post_max_size = 12M
Włącz wtyczki PHP.
cp /etc/php-7.3.sample/* /etc/php-7.3/.
Włącz i uruchom demona PHP-FPM. Nazwa demona może się nieco różnić, jeśli wersja jest nowsza.
rcctl enable php73_fpm
rcctl start php73_fpm
MariaDB zapewnia zaplecze bazy danych dla PrestaShop. Ponieważ MariaDB potrzebuje więcej otwartych plików, niż pozwala na to klasa domyślna, utwórz specjalną klasę w /etc/login.conf
.
W dolnej części pliku dodaj następujące wiersze:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Zainstaluj MariaDB.
doas su
mysql_install_db
rcctl enable mysqld
rcctl start mysqld
Skonfiguruj zabezpieczenia MariaDB.
mysql_secure_installation
Utwórz bazę danych PrestaShop. Użyj silnego hasła.
mysql -u root
CREATE DATABASE prestashop;
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password123';
FLUSH PRIVILEGES;
EXIT
Utworzyć kopię zapasową /etc/apache2/httpd2.conf
cp /etc/apache2/httpd2.conf /etc/apache2/httpd2.conf.bak
Wprowadź następujące zmiany /etc/apache2/httpd2.conf
, używając, #
aby włączyć lub wyłączyć moduły.
Listen 443
...
LoadModule mpm_event_module /usr/local/lib/apache2/mod_mpm_event.so
#LoadModule mpm_prefork_module /usr/local/lib/apache2/mod_mpm_prefork.so
LoadModule proxy_module /usr/local/lib/apache2/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/lib/apache2/mod_proxy_fcgi.so
LoadModule ssl_module /usr/local/lib/apache2/mod_ssl.so
LoadModule rewrite_module /usr/local/lib/apache2/mod_rewrite.so
...
ServerAdmin [email protected]
ServerName 192.0.2.1:80
Kilka dalszych zmian /etc/apache2/httpd2.conf
występuje w dolnej części pliku. Usuń #
ze wskazanych instrukcji dołączania.
Dodaj linie Virtual Hosting na końcu.
# Server-pool management (MPM specific)
Include /etc/apache2/extra/httpd-mpm.conf
...
# Virtual Hosts
IncludeOptional /etc/apache2/sites/*.conf
Utwórz /etc/apache2/sites
katalog.
mkdir /etc/apache2/sites
Utwórz /etc/apache2/sites/example.conf
za pomocą następujących informacji:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
SSLEngine On
SSLCertificateFile "/etc/ssl/example.com.crt"
SSLCertificateKeyFile "/etc/ssl/private/example.com.key"
SSLCipherSuite HIGH:!aNULL
</VirtualHost>
Skonfiguruj moduł proxy Apache, dodając następujące elementy do /etc/apache2/sites/example.conf
<IfModule proxy_module>
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</IfModule>
Przetestuj konfigurację, a następnie włącz i uruchom Apache.
apachectl configtest
rcctl enable apache2
rcctl start apache2
Upewnij się, że Apache nasłuchuje na portach 80 i 443.
netstat -ln -finet
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 *.443 *.* LISTEN
tcp 0 0 127.0.0.1.25 *.* LISTEN
tcp 0 0 *.22 *.* LISTEN
tcp 0 0 *.80 *.* LISTEN
tcp 0 0 127.0.0.1.3306 *.* LISTEN
tcp 0 0 127.0.0.1.9000 *.* LISTEN
Przejdź do swojej witryny pod adresem http://www.example.com
. Uruchomi się kreator instalacji PrestaShop.
Po zakończeniu instalacji zwróć uwagę na interfejsy sklepu i linki administracyjne i usuń katalog /var/www/htdocs/prestashop/install
.
Włącz SSL.
Zmień hasło administracyjne.
Wykonaj kopię zapasową sklepu i jego bazy danych:
cd /var/www/htdocs
doas tar cvfz /home/auser/prestashop.tar.gz prestashop/
doas mysqldump -u prestashop -p prestashop | gzip -4 > /home/auser/prestashop.sql.tar.gz
doas chown auser:auser /home/auser/prestashop*
Usuń dostęp doas dla swojego konta użytkownika, ponownie tworząc doas.conf
plik.
echo 'permit keepenv :wheel' > /etc/doas.conf
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.