본문 바로가기
프로젝트/웹서버 제작(x86 시스템)

웹서버 제작하기 (5) Apache, PHP, MySQL 설치, 설정

by 리드민 2021. 10. 25.
반응형

[1] 테스트 환경

web server
cpu : intel q8400
gpu : G41 chipset gpu
ram : ddr3 4gb
mainboard : G41 chipset 775 board
secondary storage : SSD 128GB, HDD 500GBetc : WOL fuction workOS : ubuntu 18.04.4 LTS

 

host device
cpu : intel i7-5820k gpu : nvidia gtx 970ram ddr4 16GBmainboard : x99a chipset 2011V3 boardsecondary storage : 500GB SSD, 4TB HDD OS : windows 10 64bit

 

Home GatewayA(유선 공유기)
H614G

 

Home GatewayB(유무선 공유기)
ipTIME A8004T

 

[2] 설치하기 전에

설치하기 전에 다음과 같은 명령어를 입력한다.

sudo su
# root 권한을 가지게 된다.
apt update
# apt cache 파일을 업데이트 해준다.
apt upgrade
# 설치된 프로그램을 최신 버전으로 업그레이드 한다.
apt install vim
# vim 에디터 설치
apt install git
# git 프로그램을 설치한다.
apt install unzip
# unzip 프로그램을 설치한다.

 

[3] apache 설치

apt install apache2
# apache 서비스 설치

 

웹서버 주소를 웹 브라우저에 입력해서 접속이 되는지 확인보자

다음과 같이 나오면 성공이다.

 

기타 설치와 설정을 해준다

apt install ssl-cert
# https 인증서 관련 프로그램 설이
apt install certbot
# 무료 인증서 발급 프로그램 설치
a2enmod rewrite
a2enmod headers
a2enmod ssl
a2dismod -f autoindex
# 많이 사용되는 Apache2 Module 활성화
service apache2 restart
# 아파치 서비스 재시작하여 변경사항 적용
apache2ctl -S
# 아파치 환경 설정 문법 검사

 

[4] php 설치

 

apt install php
# php 설치

 

php -v
# php 버전 확인

php를 설치하고 버전을 확인한다.

다음과 같이 나오면 성공이다.

 

많이 사용하는 php 모듈을 설치해준다.

apt install php-mbstring
# 다국어 처리 모듈 설치
apt install php-gd
# 이미지 처리 모듈 설치
apt install php-curl php-xml
# 원격지 정보 불려오는 모듈 설치
apt install php-bcmatch
# 수학 연산 확장 모듈 설치
apt install php-oauth
# oauth 인증 모듈 설치
apt install php-mysql
# mysql 연동 모듈 설치(mysqli, pdo-mysql 관련 함수 사용 가능)
apt install composer
# Composer 설치

 

php가 apache 모듈로 동작하므로 php 변경 사항이 apache에 반영되도록 아파치 서비스를 재시작 해준다.

service apache2 restart

 

[5] Mysql 설치

apt install mysql-client
# my sql client 설치
apt install mysql-server
# mysql 서버 설치

 

mysqladmin version
# mysql 버전 확인

다음과 같이 나오면 성공이다.

 

기본 언어셋을 설정한다.

vim /etc/mysql/mysql.conf.d/override.cnf
# 파일을 생성한다

 

다음과 같은 내용을 추가한다. 

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
 
query_cache_type = ON
query_cache_limit = 4M
query_cache_size = 64M
 
max_allowed_packet = 64M
 
slow_query_log         = 1
slow_query_log_file    = /var/log/mysql/mysql-slow.log
long_query_time = 5
 
sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 

환경 설정 문법을 테스트한다.

mysqld --verbose --help | grep configtest

오류 메시지가 출력되지 않는다면 정상이다.

 

service mysql restart
# 변경사항을 적용한다.

 

mysqladmin variables | grep character
# 변경 사항 적용을 확인한다

 

 

다음과 같이 나오면 성공이다.

 

[6] phpmyadmin 설치 (웹서버 관련 프로그램 설치 확인)

Apache, PHP, Mysql을 모두 사용하는 프로그램을 설치해서 정상 설치를 확인해보자.

cd /var/www/html/
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.3/phpMyAdmin-4.8.3-all-languages.zip
unzip phpMyAdmin-4.8.3-all-languages.zip
mv phpMyAdmin-4.8.3-all-languages mydbadmin
rm phpMyAdmin-4.8.3-all-languages.zip

 

호스트 웹 브라우저에서

http://서버 아이피/mydbadmin 주소를 입력해 phpmyadmin에 접속해보자

 

cat /etc/mysql/debian.cnf
# Mysql 관리 계정 확인

debian-sys-maint 사용자는 Mysql 시스템 서비스에서 Mysql를 제어할 때 사용하는 계정이다. 최고 관리 권한을 가지고 있다.

이 계정을 이용해서 phpMyAdmin에 접속하면 된다.

 

[7] ipv6 끄기

vim /etc/sysctl.conf
설정파일 열기

 

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

설정파일 맨 밑에 다음과 같은 내용을 추가한다.

 

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

다음과 같이 나오면 성공이다.

 

[8] 기타
웹서버를 사용하기 위한 프로그램 설치가 완료되었다. 아파치 설치 후 

이 화면이 나온다면 이미 웹서버가 구동되는 상태이다. 이제 웹페이지를 프론트앤드 언어와 백앤드언어 혹은 다른 프로그램을 통해서 만들어주면 된다.

반응형