Как собрать apache2 с модулем mod_php из исходного кода alpine?

Как собрать Apache2 с модулем mod_php из исходного кода Alpine?
  • 23 января 2024 г. 15:49
Ответы на вопрос 2
Чтобы собрать Apache2 с модулем mod_php из исходного кода на Alpine Linux, вам нужно будет выполнить несколько шагов. Alpine Linux использует менеджер пакетов `apk`, который значительно облегчает установку пакетов. Однако для сборки из исходного кода мы будем использовать команду `abuild`, предоставляемую Alpine, чтобы собрать оба пакета из их APKBUILD скриптов.

Вот шаги, которые вам нужно выполнить:

### Установка инструментов для сборки

1. Установка зависимостей и инструментов для сборки:

```sh
apk add alpine-sdk
```

Это установит большинство необходимых инструментов для сборки пакетов, таких как `gcc`, `make` и другие.

### Создание вашего собственного форка для сборки пакетов

2. Добавьте себя в список `sudoers`, чтобы иметь возможность выполнять команды с правами суперпользователя:

```sh
echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
```

3. Настройте `abuild`:

```sh
abuild-keygen -a -i
```

### Сборка Apache2 и PHP

4. Получите APKBUILD скрипты для Apache2 и PHP. Давайте начнем с Apache2:

```sh
cd ~
git clone https://git.alpinelinux.org/aports
cd aports/main/apache2
```

5. После этого можно изменить APKBUILD, если требуется (например, включить дополнительные флаги или настройки).

6. Соберите пакет Apache2:

```sh
abuild -r
```

7. Повторите те же шаги для PHP. Первоначально вам нужно найти пакет `php7` или `php8` в репозитории `aports` и выполнить для него `abuild`. Затем активируйте модуль `mod_php` в Apache, убедившись, что он включен в конфигурацию сборки PHP.

```sh
cd ~/aports/community/php7  # Или php8, проверьте текущую версию
# Можно отредактировать APKBUILD здесь
abuild -r
```

### Установка собранных пакетов

8. После успешной сборки пакеты будут находиться в каталоге `~/packages`. Вы можете установить их с помощью `apk`:

```sh
sudo apk add ~/packages/main/x86_64/apache2-*.apk
sudo apk add ~/packages/community/x86_64/php7-*.apk # или php8
```

### Настройка Apache2 и PHP

9. После установки вы можете включить и настроить Apache2, редактируя конфигурационные файлы, расположенные в `/etc/apache2/httpd.conf` или `/etc/apache2/conf.d`.

10. Убедитесь, что модуль mod_php включен, и конфигурация Apache2 настроена на обработку файлов `.php` через mod_php.

### Запуск Apache2

11. Запустите Apache:

```sh
sudo rc-service apache2 start
```

12. Добавьте `apache2` в автозагрузку, если хотите, чтобы он запускался при старте системы:

```sh
sudo rc-update add apache2
```

Эти шаги предполагают, что вы уже знакомы с системой пакетов Alpine Linux и процессом сборки. Если вы новичок в Alpine или сборке пакетов, рекоменду
docker build -t alpine-apache-php:latest . 

Если что-то не подходит - смотрите в Dockerfile образа и допиливаете под себя.
Похожие вопросы