요즘은 웹서버를 구성할 때 다른 언어를 이용하여 구성하는 경우가 많은데 개인 블로그등에서 가장 많이 사용하는 LAMP에 대하여 알아보도록 하겠습니다.
LAMP
LAMP란 리눅스 환경에서 아파치, MySQL, PHP를 통합으로 설치하는 스택입니다. 4가지 소프트웨어는 전부다 오픈소스이므로 유지 보수가 쉽고 누구나 무료로 사용할 수 있습니다. 각각의 역할은 아래와 같습니다.
- Linux - 운영체제
- Apache - 웹 서버
- MySQL - 데이터베이스 서버
- PHP - 프로그래밍 언어
설치 방법
※기본환경은 Ubuntu 22.04버전으로 환경을 구축하였습니다.
1. Ubuntu 패키지 최신화
sudo apt update #등록된 저장소 안에 최신 패키지로 업데이트
sudo apt upgrade #최신 패키지를 시스템에 업그레이드
먼저 우분투의 패키지를 최신버전으로 설치 및 업그레이드를 해줍니다.
2. Apache 설치하기
sudo apt-get install apache2
sudo service apache2 start #아파치 서버 시작
sudo service apache2 stop #아파치 서버 중지
sudo service apache2 restart #아파치 서버 재시작
다운로드가 되면 하이퍼 링크에 localhost라고 검색할 때 해당 화면이 나오면 성공입니다.
3. MySQL 설치하기
sudo apt-get install mysql-server # MySQL 설치
sudo service mysql start # MySQL 시작
sudo service mysql stop # MySQL 중지
sudo service mysql restart # MySQL 재시작
mysql -u root -p #MySQL 접속
여담으로 실제로 제대로 사용하려고 하는 경우 보안 설정은 필수로 필요합니다
MySQL은 실행하기 전 다양한 오류가 있을 수 있습니다. 예시로 프로그램을 구축할 때 my.cnf이 없어서 실행이 안 되는 오류가 있었습니다. 그래서 해당 파일을 만들었습니다.
오류
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
해결
nano /etc/mysql/my.cnf
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid |
제타위키의 자료를 인용하였습니다.
https://zetawiki.com/wiki/MySQL_%EC%84%A4%EC%A0%95%ED%8C%8C%EC%9D%BC_my.cnf
MySQL 설정파일 my.cnf - 제타위키
zetawiki.com
4. PHP 설치하기
sudo apt install php libapache2-mod-php php-mysql
#PHP 및 연동 모듈을 설치합니다.
우선 PHP를 설치합니다.
nano /var/www/html/index.php
<?PHP
phpinfo();
?>
index.html 파일이 /var/www/html에 있는 경우가 있는데 해당 파일이 있는 경우 화면이 바뀌지 않을 때가 있습니다. index.html을 다운로드하면 화면이 바뀝니다.
cd /var/www/html
sudo rm index.html
이렇게 Ubuntu 22.04버전에 LAMP스택을 구축하였습니다.
'컴퓨터 > Linux' 카테고리의 다른 글
Linux (6) - CLI 환경을 GUI 환경으로 만들어보자 (0) | 2024.01.17 |
---|---|
Linux (5) - 커맨드를 이용하여 인터넷을 세팅하자 (ifconfig) (0) | 2023.12.14 |
Linux (4) - 리눅스로 파일 찾기, 파일 속 문자 찾기 (find, grep) (1) | 2023.10.23 |
Linux (2) - 터미널로 압축 및 압축해제 하기 (0) | 2022.06.05 |
Linux (1) - SSH 접근시 환영하는 문구를 바꾸어 보자 (0) | 2022.05.24 |