1주차는 우선 APM 중 어느 하나 제대로 설치한 것이 없어 팀원들에게 도움을 많이 받았다.
또한 차후 또 같은 작업을 하게 될것을 대비해 팀원들의 워크북과 구글링의 양질의 블로그 들을 비교 하여 한번에 싹 정리를 시작 한다..!
우분투 환경에서 비트나미와 같은 패키지를 사용하지 않고 수동 APM를 설치
*소스 설치의 관례*
설치를 할때는 아무곳에서나 설치를 하면 안되고 /usr/local 에 설치를 해야 한다.
-->이 부분을 놓쳐 상당한 시간을 삽질을 했다.
- 소스파일을 내려받고
- ./configure로 설정을 한다.
- make로 컴파일을 한 뒤
- make install로 설치한다.
- configure: 소스파일에 대한 환경설정을 해주는 명령어다. (뒤에 옵션을 넣음) 서버환경에 맞추어 makefile을 생성해주는 과정이다.
- make: 소스를 컴파일 하는 것이다. 컴파일이란 소스파일을 사용자가 실행 가능한 파일로 만들어 주는 과정을 말한다.
- make install: make를 통해 만들어진 설치파일을 설치하는 과정이다.
- 한마디로 build된 프로그램을 실행할 수 있게 파일들을 알맞은 위치에다가 복사를 한다.
1. Apache
필수 패키지 설치
$ sudo su
/usr/local# apt-get install make
/usr/local# apt-get install build-essential
/usr/local# apt-get install gcc
/usr/local# apt-get install --reinstall make
/usr/local# apt-get install libexpat1-dev
/usr/local# apt-get install g++
/usr/local# apt-get install net-tools
/usr/local# apt-get install curl
소스설치 파일 다운로드 및 압축해제
$ sudo su
/usr/local# mkdir apache
(소스파일 설치)
/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.gz
/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz
/usr/local# wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/
/usr/local# wget https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.gz
(압축해제)
/usr/local# tar xvfz apr-1.7.0.tar.gz
/usr/local# tar xvfz apr-util-1.6.1.tar.gz
/usr/local# tar xvfz pcre-8.45.tar.gz
/usr/local# tar xvfz httpd-2.4.51.tar.gz
만약 pcre-8.45.tar.gz 파일이 무슨 .html 형식으로 다운받아진다면, pcre-8.45 에서 직접 다운받은 후 압축해제 해준다.
- mkdir: 디렉토리를 생성하는 명령어이다.
- wget: 웹 서버로부터 파일을 다운받는다.
- tar xvfz: tar.gz 압축을 한 번에 풀어준다.
- APR: APR(아파치 포터블 런타임)는 아파치 HTTP 서버 2.x.의 핵심이며 휴대용 라이브러리이다. 이런 APR은 고급 IO 기능(예:sendfile, epoll and OpenSSL 등)에 대한 접근을 포함하여 OS 수준의 기능 (난수 생성, 시스템 상태), 그리고 기본 프로세스 처리(공유 메모리, NT 파이프와 유닉스 소켓) 등 많은 용도로 사용되고 있다.
- PCRE: PCRE( Perl Compatible Regular Expressions )는 펄 호환 정규 표현식으로서, 정규식 패턴 일치를 구현하는 함수의 집합이다. 요즘에는 Apache, PHP, KDE 등을 포함한 오프 소스 프로젝트에서 사용되고 있으며, 아파치 2.4 버전을 설치할 때는 pcre를 설치해야 한다.
apr 설치
/usr/local# cd apr-1.7.0
/usr/local/apr-1.7.0# ./configure --prefix=/usr/local/apr
여기서 오류가 난다면
/usr/local/apr-1.7.0# cp -arp libtool libtoolT 다운로드를 해준다.
/usr/local/apr-1.7.0# make
/usr/local/apr-1.7.0# make install
apt-util 설치
/usr/local# cd apr-util-1.6.1
/usr/local/apr-util-1.6.1# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
/usr/local/apr-util-1.6.1# make
/usr/local/apr-util-1.6.1# make install
pcre 설치
/usr/local# cd pcre-8.45
/usr/local/pcre-8.43# ./configure --prefix=/usr/local/pcre
/usr/local/pcre-8.43# make
/usr/local/pcre-8.43# make install
Apache 설치
/usr/local# cd httpd-2.4.51
/usr/local/httpd-2.4.51# ./configure --prefix=/usr/local/apache2.4 \
--enable-module=so --enable-rewrite --enable-so \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-mods-shared=all
/usr/local/httpd-2.4.46# make
/usr/local/httpd-2.4.46# make install
Apache 실행
실행: httpd -k start, 종료: httpd -k stop
/usr/local# sudo apache2.4/bin/httpd -k start
/usr/local# ps -ef | grep httpd | grep -v grep
/usr/local# sudo netstat -anp | grep httpd
/usr/local# sudo curl http://127.0.0.1
127.0.0.1 에 접속시 'It works!' 라는 문구가 뜨면 성공 ~~
2. Mysql
필수 패키지 설치
$ sudo su
/usr/local# apt-get update
/usr/local# apt-get install cmake
/usr/local# apt-get install libssl-dev
/usr/local# apt-get install libboost-all-dev
/usr/local# apt-get install libncurses5-dev libncursesw5-dev
/usr/local# apt-get install perl
(이건 앞에서 설치해서 중복할 필요 없다.)
/usr/local# apt-get install make
/usr/local# apt-get install gcc
/usr/local# apt-get install g++
소스설치 파일 다운로드 및 압축해제
/usr/local# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19.tar.gz
/usr/local# tar xvfz mysql-8.0.19.tar.gz
MySQL 설치
/usr/local# cd mysql-8.0.19
/usr/local/mysql-8.0.19# mkdir dir_mysql (이름 아무거나 상관없다 여기서는 그냥 이름을 dir_mysql로 했다.)
/usr/local/mysql-8.0.19# cd ..
/usr/local# cd src
/usr/local/src# sudo wget https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.gz
/usr/local/src# sudo tar xvfz boost_1_70_0.tar.gz
/usr/local/src# cd ..
/usr/local# cd usr/local/mysql-8.0.19/dir_mysql
/usr/local/mysql-8.0.19/dir_mysql# cmake \
.. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/boost_1_70_0
/usr/local/mysql-8.0.19/dir_mysql# make
/usr/local/mysql-8.0.19/dir_mysql# make install
MySQL DB 초기화
mysql 그룹 및 유저 생성
/usr/local/mysql-8.0.19/dir_mysql# groupadd mysql
/usr/local/mysql-8.0.19/dir_mysql# useradd -r -g mysql -s /bin/false mysql
디렉토리 생성
/usr/local# cd mysql
/usr/local/mysql# mkdir mysql-files (이름 아무거나 상관없음)
권한주기
/usr/local/mysql# chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql# chown mysql:mysql mysql-files
/usr/local/mysql# chmod 750 mysql-files
기본 DB 생성
/usr/local/mysql# bin/mysqld --initialize --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
이후 나오는 임시 비밀번호를 메모해두자 !!
MySQL 서버 실행 및 비밀번호 재설정
MySQL 서버 실행
/usr/local/mysql# bin/mysqld_safe --user=mysql &
bin/mysql -u root -p
Enter password: "바로 직전에 발급맏은 임시 비밀번호"
$ ps -ef | grep mysqld
서버가 잘 실행 되고 있는지 위명령어로 확인
php
필수 패키지 설치
$ sudo su
/usr/local# apt-get install libxml2-dev
/usr/local# apt-get install libjpeg-dev
/usr/local# apt-get install libpng-dev
/usr/local# apt-get install libsqlite3-dev
소스설치 파일 다운로드 및 압축해제
/usr/local# wget https://www.php.net/distributions/php-8.1.0.tar.gz
/usr/local# tar tar xvfz php-8.1.0.tar.gz
php 설치
/usr/local# cd php-8.1.0
/usr/local/php-8.1.0# ./configure \
--with-apxs2=/usr/local/apache2.4/bin/apxs \
--enable-mysqlnd \
--with-mysql-sock=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-imap-ssl \
--with-iconv \
--enable-gd \
--with-jpeg \
--with-libxml \
--with-openssl
/usr/local/php-8.1.0# make
/usr/local/php-8.1.0# make test
/usr/local/php-8.1.0# make install
Apache, PHP 연동
모듈 설치확인
아파치 설정 파일인 httpd.conf 파일을 열어 PHP 모듈이 설치됐는지 확인한다.
/usr/local# cd apache2.4/conf
/usr/local/apache2.4/conf# gedit httpd.conf
165 LoadModule php_module module/libphp.so (잘 설치 됨을 확인)
다음은 380줄 근처로 이동해서 <IfModule mime_module>을 찾은 뒤 위의 문장들을 입력한다.
vi 편집기로 열어 잘 저장이 되었는지 확인하기
php.ini 파일 세팅
/usr/local# cd php-8.1.0
/usr/local/php-8.1.0# cp php.ini-production /usr/local/lib/php.ini
테스트용 php 파일 작성
아파치의 웹 콘텐츠(html,php 파일 등)는 htdocs 디렉토리에 위치한다.
/usr/local# cd apache2.4/htdocs
/usr/local/apache2.4/htdocs# vi phpinfo.php
<?php
phpinfo();
?>
입력
연결 확인
아래 명령어로 아파치를 실행 시킨 뒤 php로 접속하여 설치 정보가 출력 되면 성공이다.
/usr/local# apache2.4/bin/httpd -k start
/usr/local# ps -ef | grep httpd | grep -v grep
/usr/local# sudo netstat -anp | grep httpd
/usr/local# sudo curl http://127.0.0.1
참고
https://yeni-days.tistory.com/7?category=1020921
[Ubuntu] Ubuntu-20.04에 APM 소스 설치(수동 설치)하기 - 2 (MySQL)
2021.11.25 - [Ubuntu] - [Ubuntu] Ubuntu-20.04에 APM 소스 설치(수동 설치)하기 - 1 (Apache, Mysql, php) [Ubuntu] Ubuntu-20.04에 APM 소스 설치(수동 설치)하기 - 1 (Apache, Mysql, php) 소스설치 소스설치, 수동설치, 컴파일설
yeni-days.tistory.com
1주차 - Ubuntu APM 소스 수동설치
1주차의 목표는 로컬 컴퓨터에 APM 소스를 우분투 환경에 수동으로 설치해 보는 것이었다. 필자는 다른 블로그를 참고하여 설치해 보았으나, 환경이 달랐는지 중간에 막히는 부분이 있었고, 참고
with611.tistory.com
'외부활동 > UMC 2기 서버[Node]' 카테고리의 다른 글
5주차 - 인스타그램 erd설계 및 데이터베이스 쿼리 실습 with AQeryTool (2) | 2024.01.24 |
---|---|
4주차 -AWS RDS 구축 및 외부 RDS 외부 접속하기 with DataGrip (0) | 2024.01.24 |
3주차 - 도메인/서브 도메인 구매 및 연결 (2) | 2024.01.24 |
3주차 - AWS 서버 환경 구축[Nginx, Php, Mysql ] (0) | 2024.01.24 |
2주차 - Aws EC2 with winscp&putty (0) | 2024.01.24 |