본문 바로가기

리눅스

우분투에서 APT 패키지 매니저를 사용하여 APM 스택을 설치하는 방법

728x90

우분투에서 APT 패키지 매니저를 사용하여 APM(Apache, PHP, MySQL) 스택을 설치하는 방법

테스트 환경

$ cat /etc/os-release | egrep PRETTY_NAME
PRETTY_NAME="Ubuntu 22.04 LTS"
  • APT 업데이트
sudo apt-get update

Apache2 설치 및 설정

  • Apache 설치
sudo apt-get install -y apache2 ssl-cert
  • Apache 설정
echo "ServerName localhost" >> /etc/apache2/apache2.conf
  • Apache 모듈 활성화
a2enmod rewrite
a2enmod headers
a2enmod ssl
a2dismod -f autoindex
  • Apache 버전 확인
apache2 -version
$ apache2 -version
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2022-03-25T00:35:40
  • Apache 모듈 확인
apachectl -M
$ apachectl -M
Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 headers_module (shared)
 mime_module (shared)
 mpm_event_module (shared)
 negotiation_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 socache_shmcb_module (shared)
 ssl_module (shared)
 status_module (shared)

MySQL 설치 및 설정

  • MySQL 설치
sudo apt-get install -y mysql-server
  • MySQL 버전
mysql --version
$ mysql --version
mysql  Ver 8.0.28-0ubuntu4 for Linux on x86_64 ((Ubuntu))
728x90

PHP 설치 및 설정

  • PHP 설치
sudo apt-get install -y php php-cli php-common libapache2-mod-php php-mysql
  • 필요한 확장 모듈 설치
sudo apt-get install -y php-curl php-gd php-zip php-intl php-bcmath php-imagick php-redis php-mbstring php-apcu php-xml
  • PHP 버전
php -version
$ php -version
PHP 8.1.2 (cli) (built: Apr  7 2022 17:46:26) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
  • PHP 모듈 확인
php -m
$ php -m
[PHP Modules]
apcu
bcmath
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
imagick
intl
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Apache 모듈 재설정

  • PHP 모듈을 Apache에 연결하도록 모듈을 재설정합니다.
sudo a2enmod php8.1
  • 서비스 재시작
    • Apache2와 MySQL 서비스를 재시작합니다.
sudo systemctl restart apache2
sudo systemctl restart mysql
  • 서비스 자동 시작 설정
    • Apache2와 MySQL 서비스가 부팅 시 자동으로 시작하도록 설정합니다.
sudo systemctl enable mysql
sudo systemctl enable mysql
  • phpinfo 페이지 생성
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

 

728x90