Створення стека LAMP на CentOS 6

Складання власного стеку LAMP дозволяє використовувати останні версії Apache, MySQL і PHP. Використовуючи менеджер пакетів CentOS 6, ви отримуєте Apache 2.2, MySQL 5.1 і PHP 5.3. Менеджер пакетів встановлює лише оновлення безпеки від команди CentOS.

Як системний адміністратор, ви знаєте, що оновлення програмного забезпечення є ключовим. І якщо ваш веб-сервер звернений до Інтернету, вам потрібно переконатися, що програмне забезпечення веб-сервера оновлено, щоб запобігти вразливостям.

Ця стаття навчає вас, як зібрати свій власний стек LAMP. Кожна з команд буде пояснена у наступному форматі.

# Commands will be listed here

An explanation of the commands will be stated here.

Крок 1: Завантаження/встановлення Apache 2.4

Для цієї статті ми будемо використовувати попередньо встановлене дзеркало; але якщо ви хочете, ви можете використовувати інше дзеркало зі сторінки дзеркала Apache із викликом із вашого VPS.

curl -q -s apache.org/dyn/closer.cgi > /tmp/closer
sed -e 151b -e '$!d' /tmp/closer

The curl command sends an HTTP request to the URL, and retrieves its contents. We redirect the output to /tmp/closer, and then the sed command cuts it down to something you can read.

Ви побачите дзеркальне посилання, що міститься в розділі. Просто замініть будь-які посилання, зазначені в цій статті, цим дзеркалом.

Завантажте вихідний код Apache 2.4.

cd /usr/src && wget http://apache.mirrors.ionfish.org/httpd/httpd-2.4.17.tar.gz && tar xvf httpd-2.4.17.tar.gz

The first part of this command will change our current directory to /usr/src, then the wget section will download the source. The last part of this command unzips the source.

Оскільки Apache вимагає APR і APR-util, виконайте наступне:

wget http://apache.mirrors.ionfish.org/apr/apr-1.5.2.tar.gz && tar xvf apr-1.5.2.tar.gz && mv apr-1.5.2 httpd-2.4.17/srclib/apr
wget http://apache.mirrors.ionfish.org/apr/apr-util-1.5.4.tar.gz && tar xvf apr-util-1.5.4.tar.gz && mv apr-util-1.5.4 httpd-2.4.17/srclib/apr-util

These commands will download the sources for APR and APR-util, and unzip them. Then, we move the source into Apache's build directory so that Apache will build properly.

Оскільки нам потрібен відповідний компілятор C, нам потрібно буде встановити його за допомогою менеджера пакетів.

yum groupinstall 'Development Tools' -y
yum install gcc-c++ -y
yum install pcre-devel -y
yum install bison bison-devel -y
yum install ncurses-devel -y
yum install perl-devel -y

As I've mentioned above, we still need to obtain Apache's prerequisites, so we'll be installing them using the package manager.

Чудова робота! Тепер настав час налаштувати та зібрати Apache.

cd httpd-2.4.17 && ./configure

The cd httpd-2.4.17 part changes our current working directory to httpd-2.4.17/. When we run ./configure, we're configuring our system to build Apache.

Дозвольте системі налаштувати джерело для встановлення, це не займе багато часу. Після завершення виконайте:

make && make install
cp support/apachectl /usr/sbin
chmod 755 /usr/sbin/apachectl

The make section of these commands will build the software. When we run make install, we effectively install Apache onto our system. Now, we need to copy it to the secure bin directory (cp signifies copy). Finally, we'll give it permissions to execute with chmod 755.

Вітаємо, ви успішно встановили Apache 2.4!

Крок 2: Завантаження/встановлення MySQL

Тепер давайте встановимо MySQL, базу даних, яку використовують багато веб-додатків. Оскільки MySQL вже надає останню версію у формі RPM, легше використовувати їх попередньо створений інсталяційний файл, а потім налаштовувати його. Ми будемо використовувати офіційний репозиторій MySQL.

cd /usr/src && wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm && rpm -i mysql57-community-release-el6-7.noarch.rpm
yum install mysql-community-server -y

The first command is where we download the RPM file to enable the MySQL repository on our system. Then, rpm -i installs the RPM file. Finally, we'll install MySQL from the official MySQL repository.

Крок 3: Завантаження/встановлення PHP

PHP має деякі залежності, які нам потрібно встановити, тож давайте розберемося спочатку.

yum install -y libxml2-devel libcurl-devel libmcrypt libmcrypt-devel

We're using the package manager once more - but this time, we're installing some components to allow PHP applications to run properly.

Завантажте вихідний код для PHP, що виконується за допомогою наступних команд:

wget http://docs.php.net/distributions/php-5.6.15.tar.gz && tar xvf php-5.6.15.tar.gz
cd php-5.6.15
./configure --with-pear=/usr/lib/pear --enable-libxml --with-pdo-mysql --with-mysqli --with-mysql --enable-mbstring --with-mcrypt --with-apxs2=/usr/local/apache2/bin/apxs --enable-maintainer-zts --with-curl=/lib
make && make install

The first part, wget, is where we download the source to PHP 5.6.15. Then, we change our working directory to php-5.6.15. Finally, we configure PHP with the features required to run various web applications, such as e-commerce websites.

Зауважте, якщо ви отримаєте повідомлення, яке містить «/path/to/perl», вам потрібно відредагувати файл /usr/local/apache2/bin/apxs.

nano /usr/local/apache2/bin/apxs

Змініть перший рядок на:

#!/usr/bin/perl -w

Крок 4: Запуск/зупинка стека LAMP

Оскільки ми створили Apache з нуля, він не містить попередньо створеної служби. Нам потрібно буде налаштувати сценарій ініціалізації самостійно.

cd /usr/src && wget https://gist.githubusercontent.com/anonymous/62b0b788f86e7773e901/raw/6bcc88f9354f7139916272ac7a4eb998b1f26fdd/httpd-init
mv httpd-init /etc/init.d/httpd
chmod 755 /etc/init.d/httpd

The first part, where we cd, changes our working directory to the directory where we build/compile software. Then, with &&, we execute anything after it as well, which in this case, downloads the service file for Apache. Finally, we give permission for it to be executed with the chmod command.

Зроблено, і зроблено!

Тепер запустимо Apache + MySQL + PHP:

service httpd start
service mysqld start

With the service commands, we can manage the status of services. In this case, we've started the services httpd and mysqld.

PHP запускається з Apache, він не запускається через службу.

Висновок

У цій статті ми розповіли, як налаштувати стек LAMP з нуля за допомогою оновлених версій Apache/PHP/MySQL. Хоча для управління потрібне більше адміністрування, ця методика корисна, коли ми хочемо мати новіший стек, ніж пропонує постачальник операційної системи.

Залишити коментар

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

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. Прочитайте цю статтю, щоб дізнатися більше