[UMC] 1주차 실습 Linux 구축 / Ubuntu 22.04 APM 수동 설치(소스 설치)

minhyeok·2023년 4월 1일
0

Linux Ubuntu 22.04 설치하기 (가상머신 활용)

https://www.virtualbox.org/wiki/Downloads
https://ubuntu.com/download/desktop
https://mainia.tistory.com/2379

설치할때 용량은 10 Gb 말고 50 Gb 로 여유있게 하자.

Linux APM 패키지 설치

https://yoshikixdrum.tistory.com/214
패키지 설치는 간단하므로 위 링크를 참고하자.

Linux APM 수동 설치

참고 링크

  • 필수 패키지 설치
먼저 필요한 패키지들을 설치한다.

$ sudo su

# apt-get install make

# apt-get install build-essential

# apt-get install gcc

# apt-get install --reinstall make

# apt-get install libexpat1-dev

# apt-get install g++ 

# apt-get install net-tools

# apt-get install curl
  • 소스설치 관례
/usr/local에 설치하는 것이 관례이다.

1. 소스파일을 내려받고
2. ./configure로 설정을 한다.
3. make로 컴파일을 한 뒤
4. make install로 설치한다.

/usr/local 로 이동해준다.

apache 설치

$ sudo su

/usr/local# mkdir apache

1) apr-1.7.3

/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-1.7.3.tar.gz

2) apr-util-1.6.3

/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.3.tar.gz

3) pcre-8.45

/usr/local# wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/

4) apache-2.4.56

/usr/local# wget https://dlcdn.apache.org//httpd/httpd-2.4.56.tar.gz

 

압축해제

/usr/local# tar xvfz apr-1.7.3.tar.gz
/usr/local# tar xvfz apr-util-1.6.3.tar.gz

/usr/local# tar xvfz pcre-8.45.tar.gz

/usr/local# tar xvfz httpd-2.4.56.tar.gz

파일을 자꾸 못 받아와서 WinSCP로도 파일 업로드 하려고 했지만 Permission denied 떠서 그냥 local 폴더의 권한을 변경해서 우분투 내의 파이어폭스에서 파일 다운받아와서 복붙 해줬다 ㅠ 이렇게 해도 될진 모르겠지만 파일 받아오는건 같으니까 모,,

아파체 파일도 2.4.56 버전으로 받아왔다.

설치시 error : Did not find pcre-config script at 경로~~ 오류가 떠서 아래 링크를 참고하여 해결하였다.
오류 참고 링크

설치 완료하고 apache 서버 동작확인 완료하였다.

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 make

/usr/local# apt-get install gcc

/usr/local# apt-get install g++

/usr/local# apt-get install perl
  • 소스설치 파일 다운로드 및 압축해제
apache와 동일하게 압축 파일을 다운받아 압축을 해제한다.

/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 설치 (mysql-8.0.19)
/usr/local/mysql-8.0.19/dir_mysql# cd ..

/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

여기서 오류가 겁나게 뜰거다.

please install the appropriate openssl developer package 요 오류가 뜬다.. Spring 파트장 헤론의 글을 참고해 openssl 버전을 바꿔보기로 한다.

https://teserre.tistory.com/13 여길 참고해 openssl 버전을 1.1.1t로 바꾸었다.

그런데 또 오류 떴다.. 하.. could not find pkgconfig 이 오류로 구글링했다!

링크 참조

미쳤다... 된듯?!!??

이제

/usr/local/mysql-8.0.19/dir_mysql# make

/usr/local/mysql-8.0.19/dir_mysql# make install

을 진행한다!

아니나 다를까 make 하는 과정에서 또 오류가 떴다..
구글링 해보니 gcc 버전 문제인것 같아 버전을 11->10 으로 바꿔보았다!
참고 1
참고 2
참고 3

위와 같이 버전을 10으로 바꿔보았다,, 제발 이번에는 되기를 ㅠ

make,, 완료!!!

make install 까지 완료,,!!!!!!!! ㅠㅠㅠㅠㅠㅠ 진짜 오래걸렸다,,,,,,,,,,,,,,

  • MySQL DB 초기화
1. 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

2. 디렉토리 생성

/usr/local# cd mysql

/usr/local/mysql# mkdir mysql-files (이름 아무거나 상관없음)

3. 권한주기

/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

4. 기본 DB 생성

/usr/local/mysql# bin/mysqld --initialize --user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

이렇게 실행이 끝나면 !! 임시 비밀번호가 나온다. 기억해두기인데,,

또 오류 떳다 ㅠㅠ 왜지,, 기본 DB 생성할때 아무것도 출력이 안되더라,,
Can't connect to local MySQL Server ~ 키워드랑
mysqld_safe mysqld from pid file ~ ended 키워드로 찾아서 온갖 방법을 시도해봤는데, 도무지 되질 않아 make 와 make install을 다시 해보고 안되면 밀 예정이다. 하..

결국 해결 방법을 찾지 못해 우분투 밀고 처음부터 패키지 설치 안하고 수동설치로 진행할 예정이다. 아마 패키지 설치와 겹쳐서 그런것 같다!

싹 다 밀고 다시 깔았다. 이번엔 제대로 뜬다!

  • MySQL 서버 실행 및 비밀번호 재설정
1. 서버 실행
/usr/local/mysql# bin/mysqld_safe --user=mysql &

이 상태에서 바로 밑에 다 

#bin/mysql -u root -p
#Enter password: 비밀번호 입력

를 입력하면 접속 성공이다.

성공!!!!!

서버가 실행되고 있는 것을 보고싶다면 ! 다른 터미널 창에서

$ ps -ef | grep mysqld

명령어를 입력하면 실행되고 있는 것이 보인다.
2. 비밀번호 재설정 및 서버 종료
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

mysql> exit

/usr/local/mysql# bin/mysqladmin -u root -p shutdown

MySQL 완료!

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 xvfz php-8.1.0.tar.gz
  • PHP 설치 (php-8.1.0)
/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

./configure 완료

make 완료. make test를 잊지말라는 문구가 출력된다!

..? 일단 진행해보자. 나중에 문제되면 확인하자,, 오류가 너무 많이 떠서 무섭다..

make install 완료! php 설치 완료했다.

phpinfo 페이지 만들기

  • Apache, PHP 연동
1. 모듈 설치확인

아파치 설정 파일인 httpd.conf 파일을 열어 PHP 모듈이 설치됐는지 확인한다.

/usr/local# cd apache2.4/conf

/usr/local/apache2.4/conf# getit httpd.conf

잘 설치되어 있다면 mime_module에 사진과 같이 작성한다.
/mime_module 명령어로 검색하면 쉽게 검색할 수 있다. / 를 하고 엔터하면 다음 위치로 해당 단어를 검색한다.

2. php.ini 파일 세팅
/usr/local# cd php-8.1.0

/usr/local/php-8.1.0# cp php.ini-production /usr/local/lib/php.ini

3. 테스트용 php 파일 작성

아파치의 웹 콘텐츠(html, php 파일 등)는 htdocs 디렉토리에 위치한다. 

/usr/local# cd apache2.4/htdocs

/usr/local/apache2.4/htdocs# vi phpinfo.php

<?php phpinfo(); ?>

4. 연결 확인

먼저 아파치를 재실행 시킨 후 http://127.0.1.1/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

연결 확인되었다! 패키지로 설치할때와 다르게 php 버전 8.1.0 으로 확인이 가능하다.
드이어 다 완료했다,,

Apache httpd 에러가 발생했다면
(AH00558: httpd: Could not reliably determine the server's fully....message

보통 해당 에러는 아파치 서버를 시작할 때 자주 발생한다.

httpd.con 파일에서 ServerName을 설정해주면 간단히 해결된다.

/usr/local# cd apache2.4/conf

/usr/local/apache2.4.conf# vi httpd.conf

/ServerName # ServerName 단어 검색 후 주석을 풀고 내용을 수정한다.
나는 그냥 ServerName localhost만 추가하였다.

0개의 댓글