본문 바로가기
SW/APM

Centos7 APM 소스 설치

by bigju 2021. 9. 28.

설치 환경 : CentOS Linux release 7.9.2009 (Core), VMware

1. HTTPD 설치

# 필요 라이브러리 설치

yum install -y 
wget yum install -y net-tools 
yum install -y gcc 
yum install -y gcc-c++ 
yum install -y make

# 설치에 필요한 파일 다운로드하기

cd /usr/local/src wget https://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz/download //httpd 관련 파일 wget http://apache.tt.co.kr/httpd/httpd-2.4.46.tar.gz //httpd 관련 파일 wget http://apache.tt.co.kr/apr/apr-1.7.0.tar.gz //httpd 관련 파일 wget http://apache.tt.co.kr/apr/apr-util-1.6.1.tar.gz //httpd 관련 파일 wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz //MariaDB wget http://am1.php.net/get/php-5.6.4.tar.gz/from/this/mirror //PHP 파일 * 날짜가 지나며 경로가 틀릴 수 있습니다. 다운이 불가시 해당 경로에 들어가 필요한 파일 받으시면 됩니다.

cd /usr/local/src 

wget https://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz/download //httpd 관련 파일

wget http://apache.tt.co.kr/httpd/httpd-2.4.46.tar.gz //httpd 관련 파일 

wget http://apache.tt.co.kr/apr/apr-1.7.0.tar.gz //httpd 관련 파일

wget http://apache.tt.co.kr/apr/apr-util-1.6.1.tar.gz //httpd 관련 파일

wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz //MariaDB 

wget http://am1.php.net/get/php-5.6.4.tar.gz/from/this/mirror //PHP 파일 

* 날짜가 지나며 경로가 틀릴수있습니다. 
다운이 불가시 해당 경로에 들어가 필요한 파일 받으시면 됩니다.

 

# pcre 설치

 

cd /usr/local/src 
tar xvfz download 
cd pcre-8.36 ./configure 
--prefix=/usr/local 

make && make install // && 명령어는 두 명령어를 붙여 첫번째 명령어가 끝나면 뒤에 명령어 실행 해주는 명령어입니다.

# arp, arp-util 설치

cd /usr/local/src 
tar xvfz httpd-2.4.46.tar.gz 
tar xfz apr-1.7.0.tar.gz 
tar xfz apr-util-1.6.1.tar.gz 
mv apr-1.7.0 httpd-2.4.46/srclib/apr 
mv apr-util-1.6.1 httpd-2.4.46/srclib/apr-util 
cd httpd-2.4.33 ./configure \ --prefix=/usr/local/apache \ --with-included-apr \ --with-pcre=/usr/local/bin/pcre-config 

( 오류 문제 spr) --> yum install -y expat-devel --> make clean make && make install

 

 

# httpd.conf 설정

 

cd /usr/local/apache/ ( ServerName을 검색해서 아래와 같이 수정 ( line : 192 ) ) ServerName 127.0.0.1:80

 

# httpd 시작

/usr/local/apache/bin/apachectl restart // 시작 ps -ef | grep httpd //프로세스 확인

 

 

2. MYSQL 설치

계정 설정

groupadd mysql 

useradd -M -g mysql mysql

cat /etc/passwd

 

# 의존성 설치

yum -y install ncurses-devel 
yum -y install perl 
yum -y install perl-Data-Dumper 
yum -y install cmake 
yum -y install wget
yum -y install gcc-c++

 

 

 

 

# MYSQL 설치

cd /usr/local/src/mysql-5.6.15 
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \ 
-DDEFAULT_CHARSET=utf8 \ 
-DDEFAULT_COLLATION=utf8_general_ci \ 
-DWITH_EXTRA_CHARSETS=all \ 
-DMYSQL_DATADIR=/usr/localmysql/data \ 
-DENABLED_LOCAL_INFILE=1 \ 
-DWITH_MYISAM_STORAGE_ENGINE=1 \ 
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 
-DWITH_MEMORY_STORAGE_ENGINE=1 \ 
-DWITH_READLINE=1 \ 
-DMYSQL_USER=mysql \ 
-DMYSQL_TCP_PORT=3306 \ 
-DENABLE_DOWNLOADS=1 

make && make install //설치가 오래 걸립니다.

 

 

 

 

# 디렉토리 소유자 변경

mkdir /usr/local/mysql/tmp 

chown -R mysql:mysql /usr/local/mysql 

chown mysql:root /usr/local/mysql/tmp

 

 

# 데이터베이스 생성

 

/usr/local/mysql/scripts/mysql_install_db \ 
--defaults-file=/usr/local/mysql/my.cnf \ 
--user=mysql \ --basedir=/usr/local/mysql/ \ // 경로지정은 설치자 자유 
--datadir=/usr/local/mysql/data \ // 경로지정은 설치자 자유

 

# 환경 설정

 

vi /etc/my.cnf

# Example MySQL config file for large systems.
#
# This is for a large system with memory = 512M where the system runs mainly
# MySQL.
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
port            = 3306
socket         = /usr/local/mysql/tmp/mysql.sock
character-set   = utf8

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port            = 3306
socket         = /usr/local/mysql/tmp/mysql.sock
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

character-set-server=utf8
collation-server=utf8_general_ci

init_connect=SET collation_connection=utf8_general_ci
init_connect=SET NAMES utf8

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
default-character-set = utf8
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

 

 

 

#MYSQL 실행

/usr/local/mysql/bin/mysqld_safe & ps -ef | grep mysql

 

 

# MYSQL 파일 추가

 

# vi /etc/profile ( 파일 맨 끝에 아래의 내용을 추가 )

#mysql export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile ps -ef | grep mysql

 

3. PHP 설치

# 라이브러리 설치

 

yum -y install libxml2-devel openssl-devel libjpeg-devel libpng-devel

 

# 설치

 

cd /usr/local/src 
tar xvfz mirror 
cd php-5.6.4 ./configure \ 
--with-apxs2=/usr/local/apache2/bin/apxs \ 
--with-mysql=/usr/local/mysql \ 
--with-mysqli=/usr/local/mysql/bin/mysql_config \ 
--with-imap-ssl \ 
--disable-debug \ 
--with-iconv \ 
--with-gd \ 
--with-jpeg-dir \ 
--with-png-dir \ 
--with-libxml-dir \ 
--with-openssl 
-------------------------------------->각 옵션은 설치자가 필요한 것 만 넣기 

make make test //무조건 test를 거쳐야합니다. 

make install

! 오류 해결

 

더보기

sorry i cannot run apxs --> # vi /usr/local/victolee/apache/bin/apxs -----> 첫 줄 #!/replace/with/path/to/perl/interpreter -w 수정 => #! /usr/bin/perl -w

 

 

# PHP 확인

php --version ls -l /usr/local/apache/modules/libphp5.so

4. APACHE - PHP 연동

vi /usr/local/apache/conf/httpd.conf

( php를 검색하여 LoadModule에 php가 추가됐는지 확인 ( line : 151 ) )

LoadModule php5_module modules/libphp5.so ( MIME를 추가 ( line : 388 ) )

AddType application/x-compress .Z 
AddType application/x-gzip .gz .tgz 
AddType application/x-httpd-php .php .htm

 

 

vi /usr/local/src/php-5.6.4/php.ini-production

( short_open를 검색해서 On으로 수정합니다. ) 

short_open_tag = On ( opcache.enable을 검색해서 0으로 수정합니다. ) 

opcache.enable=0

cp /usr/local/src/php-5.6.4/php.ini-production /usr/local/lib/php.in // 옮기는 이유 잘 관리하기위해 쉽게

 

 

# 최종 파일 작성하여 확인

 

cd /usr/local/victolee/apache/htdocs

vi phpinfo.php 

<? 
phpinfo();
?>

 

 

# 시작 

 

/usr/local/apache2.4.33/bin/apachectl start # ps -ef | grep http

 

5. 방화벽 허용

firewall-cmd --zone=public --add-port=80/tcp --permanent //80번 포트 추가 
firewall-cmd --permanent --zone=public --add-port=80/tcp //80포트 허용 
firewall-cmd --reload iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT // 80번 포트 추가 
iptables -vnL // iptable 확인 

vi /etc/sysconfig/selinux // selinux 수정 
enforcing --> disabled
​BigJu

댓글

메인으로가기


    

Big Ju

IT Engineer


항상 답을 위해 노력하는

엔지니어입니다.

 

 

    


 UP!