Как да инсталирате Apache, MySQL и PHP (FAMP) стека на FreeBSD 12.0

Въведение

FAMP стек, който е сравним с LAMP стек в Linux, е колекция от софтуер с отворен код, който обикновено се инсталира заедно, за да даде възможност на FreeBSD сървър да хоства динамични уебсайтове и уеб приложения. FAMP е съкращение, което означава F reeBSD (операционна система), A pache (HTTP сървър), M ySQL (сървър на база данни) и P HP (език за програмиране за обработка на динамично PHP съдържание).

В това ръководство ще разположим елементи от FAMP стека на екземпляр на FreeBSD 12.0 Vultr, използвайки pkg, мениджъра на пакети FreeBSD.

Изисквания

Преди да започнете това ръководство, ще ви трябва следното:

  • FreeBSD 12.0 VPS.
  • Потребител с root привилегии или sudoпотребител, който прави промени в конфигурацията.
  • Препоръчва се основно запознаване със системата FreeBSD и интерфейса на командния ред.

Преди да започнеш

Проверете версията на FreeBSD.

uname -ro # FreeBSD 12.0-RELEASE-p6

Уверете се, че вашата FreeBSD система е актуална.

freebsd-update fetch install pkg update && pkg upgrade -y

Инсталирайте необходимите пакети.

pkg install -y sudo vim bash curl

Създайте нов потребителски акаунт с предпочитаното от вас потребителско име. Ние използваме johndoe.

adduser # Username: johndoe # Full name: John Doe # Uid (Leave empty for default): <Enter> # Login group [johndoe]: <Enter> # Login group is johndoe. Invite johndoe into other groups? []: wheel # Login class [default]: <Enter> # Shell (sh csh tcsh nologin) [sh]: bash # Home directory [/home/johndoe]: <Enter> # Home directory permissions (Leave empty for default): <Enter> # Use password-based authentication? [yes]: <Enter> # Use an empty password? (yes/no) [no]: <Enter> # Use a random password? (yes/no) [no]: <Enter> # Enter password: your_secure_password # Enter password again: your_secure_password # Lock out the account after creation? [no]: <Enter> # OK? (yes/no): yes # Add another user? (yes/no): no # Goodbye!

Изпълнете visudoкомандата и разкоментирайте %wheel ALL=(ALL) ALLреда, за да позволите на членовете на wheelгрупата да изпълнят всяка команда.

visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL

Сега превключете към новосъздадения си потребител с su:

su - johndoe

ЗАБЕЛЕЖКА: Заменете johndoeс вашето потребителско име.

Настройте часовата зона:

sudo tzsetup

Стъпка 1 - Инсталиране на Apache

Уеб сървърът Apache в момента е един от най-популярните уеб сървъри в света. Това е отличен избор за хостване на уебсайт.

Можете да инсталирате Apache, като използвате мениджъра на пакети на FreeBSD, pkg. Мениджърът на пакети ви позволява да инсталирате повечето софтуер без усилие от хранилище, поддържано от FreeBSD. Можете да научите повече за това как да използвате pkgтук .

За да инсталирате Apache, изпълнете следната команда:

sudo pkg install -y apache24

Проверете версията:

httpd -v # Server version: Apache/2.4.39 (FreeBSD)

Сега активирайте и стартирайте Apache:

sudo sysrc apache24_enable=yes sudo service apache24 start

За да проверите дали Apache е стартирал, можете да изпълните следната команда:

sudo service apache24 status

В резултат на това ще видите нещо подобно на:

# Output apache24 is running as pid 17772.

Можете да проверите дали Apache е инсталиран и работи без грешки, като посетите публичния IP адрес на вашия сървър във вашия уеб браузър. Навигирайте до http://your_server_IP. Ще видите страницата по подразбиране " Работи! " Apache страница.

Стъпка 2 — Инсталиране на MySQL 8.0

Сега, когато вашият уеб сървър работи и работи, е време да инсталирате MySQL, системата за управление на релационна база данни. MySQL сървърът ще организира и предоставя достъп до бази данни, където вашият сървър може да съхранява информация.

Отново можете да използвате, за pkgда получите и инсталирате вашия софтуер.

За да инсталирате MySQL 8.0с помощта на pkg, използвайте тази команда:

sudo pkg install -y mysql80-client mysql80-server

Тази команда ще инсталира най-новата версия на MySQL клиента и сървъра, който в момента е 8.x.x.

Проверете версията:

mysql --version # mysql Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

Сега активирайте и стартирайте MySQL:

sudo sysrc mysql_enable=yes sudo service mysql-server start

За да проверите дали MySQL е стартирал, можете да изпълните следната команда:

sudo service mysql-server status

Ще видите нещо подобно на следното:

# Output mysql is running as pid 19171.

Като добра практика можете да стартирате mysql_secure_installationскрипта за защита, който ще премахне някои несигурни настройки по подразбиране и леко ще ограничи достъпа до вашата система от база данни.

sudo mysql_secure_installation

Ще бъдете помолени да зададете парола, последвано от някои други въпроси. Въведете силна парола и след това за останалите въпроси натиснете, за ENTERда изберете настройките по подразбиране.

Стъпка 3 — Инсталиране на PHP 7.3

PHP е скриптов език от страна на сървъра, предназначен за уеб разработка. PHP е незаменим компонент на стека на FAMP. Освен това Python или Perl обикновено се използват вместо PHP. Въпреки това PHP като най-популярната опция се използва най-често. Заедно с базата данни, тя ще даде на вашите уеб сайтове или приложения динамично поведение.

Още веднъж използвайте pkgсистемата, за да инсталирате PHP компоненти.

За да инсталирате PHP 7.3 с pkg, изпълнете тази команда:

sudo pkg install -y php73 php73-mysqli mod_php73

Това инсталира php73, mod_php73и php73-mysqliопаковките.

Проверете версията.

php --version # PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

Копирайте примерния конфигурационен файл на PHP на място с тази команда:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Сега активирайте и стартирайте PHP-FPM:

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

За да проверите дали PHP-FPM е стартирал, можете да изпълните следната команда:

sudo service php-fpm status

В резултат на това ще видите нещо подобно на:

# Output php_fpm is running as pid 23005.

Инсталиране на PHP модули (по избор)

За да подобрите функционалността на PHP, можете по желание да инсталирате някои допълнителни модули.

За да видите компилираните в момента в PHP модули, можете да изпълните това:

php -m # [PHP Modules] # Core # date # libxml # mysqlnd # pcre # Reflection # SPL # standard # [Zend Modules]

За да търсите налични PHP модули, можете да използвате тази команда:

pkg search ^php73-*

Резултатите ще бъдат предимно PHP 7.3 модули, които можете да инсталирате:

# Output # php73-7.3.7 PHP Scripting Language # php73-Ice37-3.7.2 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+ # php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP # php73-aphpunit-1.8 Testing framework for unit tests # php73-bcmath-7.3.7 The bcmath shared extension for php # php73-brotli-0.7.0 Brotli extension for PHP # php73-bsdconv-11.5.0 PHP wrapper for bsdconv # php73-bz2-7.3.7 The bz2 shared extension for php # php73-calendar-7.3.7 The calendar shared extension for php # php73-composer-1.8.6 Dependency Manager for PHP # php73-ctype-7.3.7 The ctype shared extension for php # php73-curl-7.3.7 The curl shared extension for php # . . .

Ако след проучване решите, че трябва да инсталирате пакет, можете да го направите с помощта на pkg installкомандата. Повечето PHP уеб приложения ще изискват допълнителни модули, така че е добре да знаете как да ги търсите.

Стъпка 4 — Конфигуриране на Apache за използване на PHP модул

Преди да използвате PHP, трябва да го конфигурирате да работи с Apache.

Стартирайте sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.confи попълнете файла със следното съдържание:

<IfModule dir_module> DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> </IfModule>

Запазете файла и излезте с :+ W+Q

Проверете конфигурацията на Apache.

sudo apachectl configtest

Тъй като сте направили промени в конфигурацията в Apache, трябва да презаредите услугата, за да бъдат приложени. В противен случай Apache ще продължи да работи с по-ранната конфигурация.

sudo apachectl restart

Стъпка 5 — Тестване на PHP обработка

За да проверите дали вашата система е конфигурирана правилно за PHP, можете да създадете много основен PHP скрипт. Ще извикате този скрипт info.php. По подразбиране DocumentRootе настроен на /usr/local/www/apache24/data. Можете да създадете info.phpфайла под това местоположение, като напишете:

sudo vim /usr/local/www/apache24/data/info.php

Добавете този код към този файл:

<?php phpinfo(); ?>

Придвижете се до http://your_server_IP/info.phpи ще видите следната страница:

Как да инсталирате Apache, MySQL и PHP (FAMP) стека на FreeBSD 12.0

След инсталиране и настройка на стека на FAMP, трябва да премахнете info.phpфайла, за да избегнете разкриването на информацията за сървъра на обществеността.

sudo rm /usr/local/www/apache24/data/info.php

Заключение

Поздравления, успешно инсталирахте FAMP стека на вашия FreeBSD 12.0 VPS. Сега имате множество възможности за избор какво да правите по-нататък. Вие сте инсталирали платформа, която ще ви позволи да инсталирате повечето видове уебсайтове и уеб софтуер върху нея.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече