Как да инсталирате 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. Сега имате множество възможности за избор какво да правите по-нататък. Вие сте инсталирали платформа, която ще ви позволи да инсталирате повечето видове уебсайтове и уеб софтуер върху нея.


Как да инсталирате Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Как да инсталирате Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да

Как да инсталирате Wiki.js на FreeBSD 11

Как да инсталирате Wiki.js на FreeBSD 11

Използване на различна система? Wiki.js е безплатно и модерно уики приложение с отворен код, изградено на Node.js, MongoDB, Git и Markdown. Изходният код на Wiki.js е публичен

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с

Как да инсталирате MODX Revolution на FreeBSD 11 FAMP VPS

Как да инсталирате MODX Revolution на FreeBSD 11 FAMP VPS

Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема система за управление на съдържанието (CMS) от корпоративен клас, написана на PHP. То и

Настройка на OpenBSD 5.5 64-битов

Настройка на OpenBSD 5.5 64-битов

Тази статия ви превежда през настройката на OpenBSD 5.5 (64-битов) на KVM с Vultr VPS. Стъпка 1. Влезте в контролния панел на Vultr. Стъпка 2. Щракнете върху РАЗГРАЖДАНЕ

Как да инсталирате osTicket на FreeBSD 12

Как да инсталирате osTicket на FreeBSD 12

Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок

Как да инсталирате Flarum Forum на FreeBSD 12

Как да инсталирате Flarum Forum на FreeBSD 12

Използване на различна система? Flarum е безплатен софтуер за форуми от следващо поколение с отворен код, който прави онлайн дискусията забавна. Изходният код на Flarum се хоства o

Как да активирате TLS 1.3 в Nginx на FreeBSD 12

Как да активирате TLS 1.3 в Nginx на FreeBSD 12

Използване на различна система? TLS 1.3 е версия на протокола за сигурност на транспортния слой (TLS), който беше публикуван през 2018 г. като предложен стандарт в RFC 8446

Инсталирайте WordPress на OpenBSD 6.2

Инсталирайте WordPress на OpenBSD 6.2

Въведение WordPress е доминиращата система за управление на съдържанието в интернет. Той захранва всичко от блогове до сложни уебсайтове с динамично съдържание

Как да инсталирате Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Subrion 4.1 CMS е мощна и гъвкава система за управление на съдържанието (CMS) с отворен код, която носи интуитивно и ясно съдържание

Как да конфигурирате DJBDNS на FreeBSD

Как да конфигурирате DJBDNS на FreeBSD

Този урок ще ви покаже как да конфигурирате DNS услуга, която е лесна за поддръжка, лесна за конфигуриране и която като цяло е по-сигурна от класическия BIN

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

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

FEMP стек, който е сравним с LEMP стек в Linux, е колекция от софтуер с отворен код, който обикновено се инсталира заедно, за да даде възможност на FreeBS

Инсталиране на MongoDB на FreeBSD 10

Инсталиране на MongoDB на FreeBSD 10

MongoDB е NoSQL база данни от световна класа, която често се използва в по-новите уеб приложения. Той осигурява заявки с висока производителност, разделяне и репликация

Как да инсталирате Monica на FreeBSD 12

Как да инсталирате Monica на FreeBSD 12

Използване на различна система? Monica е система за управление на лични взаимоотношения с отворен код. Мислете за него като за CRM (популярен инструмент, използван от търговските екипи в th

OpenBSD като решение за електронна търговия с PrestaShop и Apache

OpenBSD като решение за електронна търговия с PrestaShop и Apache

Въведение Този урок демонстрира OpenBSD като решение за електронна търговия, използващо PrestaShop и Apache. Apache е необходим, тъй като PrestaShop има сложен UR

Инсталиране на Fork CMS на FreeBSD 12

Инсталиране на Fork CMS на FreeBSD 12

Използване на различна система? Fork е CMS с отворен код, написан на PHP. Изходният код на Forks се хоства на GitHub. Това ръководство ще ви покаже как да инсталирате Fork CM

Как да инсталирате Directus 6.4 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Directus 6.4 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Directus 6.4 CMS е мощна и гъвкава, безплатна и с отворен код Headless Content Management System (CMS), която предоставя на разработчиците

Повишаване на сигурността за FreeBSD с помощта на IPFW и SSHGuard

Повишаване на сигурността за FreeBSD с помощта на IPFW и SSHGuard

VPS сървърите често са насочени от натрапници. Често срещан тип атака се появява в системните регистрационни файлове като стотици неоторизирани опити за влизане в ssh. Настройвам

Настройте httpd в OpenBSD

Настройте httpd в OpenBSD

Въведение OpenBSD 5.6 въведе нов демон, наречен httpd, който поддържа CGI (чрез FastCGI) и TLS. Не е необходима допълнителна работа за инсталиране на новия http

Настройте iRedMail на FreeBSD 10

Настройте iRedMail на FreeBSD 10

Този урок ще ви покаже как да инсталирате груповия софтуер iRedMail на нова инсталация на FreeBSD 10. Трябва да използвате сървър с поне един гигабайт o

Възходът на машините: Реални приложения на 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 машини. Прочетете тази статия, за да научите повече