본문 바로가기

서버 개발

우분투16.04LTS 에 APM 수동설치(소스설치) 하는 법 및 문제해결

반응형




//개발 환경

윈도우 10

날자 2019-03-20 기준으로 썻습니다.



APM은 각각 최신 버전을 설치 하지 않았습니다.


날자 2019-03-20 기준으로 썻습니다.




* 가상머신으로 우분투를 만들 때 램 4이상 스토리지 20GB이상 해두어야 따로 가상메모리나 스토리지 사용없이 깔립니다.


* 편의상 설치는 root로 하는게 굉장히 편합니다.

-> $sudo su

* 위의 사항을 선행하시고 깔면 큰 무리없이 가능합니다.



1. [Apache 설치]

 

wget http://archive.apache.org/dist/httpd/httpd-2.4.25.tar.gz

 

wget http://archive.apache.org/dist/apr/apr-1.5.1.tar.gz

wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz

 

tar xvfz httpd-2.4.12.tar.gz

tar xvfz apr-1.5.1.tar.gz -C httpd-2.4.25/srclib/

tar xvfz apr-util-1.5.4.tar.gz -C httpd-2.4.25/srclib/

mv httpd-2.4.12/srclib/apr-1.5.1 httpd-2.4.25/srclib/apr

mv httpd-2.4.12/srclib/apr-util-1.5.4 httpd-2.4.25/srclib/apr-util

 

wget --ftp-user=anonymous ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

tar xvfz pcre-8.39.tar.gz

cd pcre-8.39

./configure --prefix=/usr/local/pcre

make && make install

 

apt-get install libssl-dev

 

cd httpd-2.4.12/

./configure --prefix=/app/apache \

--with-included-apr \

--with-pcre=/usr/local/pcre/bin/pcre-config \

--with-ssl \

--enable-so \

--enable-ssl \

--enable-rewrite \

--with-mpm=worker \

--enable-cache \

--enable-modules=all \

--enable-mods-shared=all


make && make install


cd /app/apache/conf

vi httpd.conf



아무데나 ServerName localhost 추가

<IfModule dir_module> 태그안에 index.html 옆에 index.php 추가


AddType application/x-compress .Z 

아래쪽에 


AddType application/x-httpd-php .php .htm .html .inc .php4 .php3

AddType application/x-httpd-php-source .php5 

추가


cp /app/apache/bin/apachectl /etc/init.d/httpd


/etc/init.d/httpd start

/etc/init.d/httpd restart


실행 후 브라우저에 localhost or 127.0.0.1 or 현재아이피로 접속해서 It Works!가 뜨면 성공 

아파치 설치 끝


2. [PHP 설치]

 

wget http://kr1.php.net/distributions/php-5.6.24.tar.gz


tar xvfz php-5.6.24.tar.gz


cd php-5.6.24


apt-get install libxml++2.6-dev

sudo apt-get install libpng-dev


./configure --prefix=/usr/local/php \

--with-mysql=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-apxs2=/app/apache/bin/apxs \

--with-config-file-path=/app/apache/conf \

--with-regex=php \

--with-zlib \

--disable-debug \

--enable-calendar \

--enable-ftp \

--enable-sockets \

--enable-sysvsem \

--enable-sysvshm \

--with-gd \

--enable-mbstring



make && make install

 

cp php.ini-production /app/apache/conf/php.ini


------


* phpinfo.php 확인 (openssl, mysql 연동확인)

# vi phpinfo.php 


<?php       // 띄어쓰기 x

phpinfo(); 

?>


*안나올 경우

이런식으로 httpd.conf 를 바꿔보기

server {

        listen 80 default_server;

        listen [::]:80 default_server ipv6only=on;


        root /var/www/html/;

        index index.html index.htm index.php;


        # Make site accessible from http://localhost/

        server_name localhost;


        location / {

                try_files $uri $uri/ =404;

        }


        location ~ \.php$ {

                # With php7-fpm:

                try_files $uri =404;

                fastcgi_split_path_info ^(.+\.php)(/.+)$;

                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

                fastcgi_index index.php;

                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                include fastcgi_params;

        }

}





3.[MySQL 설치]


wget  http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz



apt-get install cmake

apt-get install libncurses5-dev

 

useradd -m -c "MySQL Server" -d /usr/local/mysql -s /bin/false -u 27 mysql

 

tar xvfx mysql-5.7.18.tar.gz

cd mysql-5.7.18

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DSYSCONFDIR=/etc \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_USER=mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/sr/local/mysql/boost

 

make && make install

(꽤 오래걸림)


cd /usr/local/mysql/


./bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data


mv my.cnf /etc/my.cnf


[mysqld] 

# port=3306 

init_connect=SET collation_connection = utf8_general_ci 

init_connect=SET NAMES utf8 

character-set-server=utf8 

collation-server=utf8_general_ci 


# table_cache=1024 

max_connections=2048 

max_user_connections=500 

max_connect_errors=10000 

wait_timeout=300 

query_cache_type = 1 

query_cache_size = 128M 

query_cache_limit = 5M 

slow_query_log 

long_query_time=3 

max_allowed_packet=16M 

sort_buffer_size = 2M 


# skip-innodb 

skip-name-resolve 


[mysql] 

default-character-set=utf8 


[client] 

default-character-set=utf8


새로 파일이 만들어지는데 위 내용 추가하고 저장


cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld


vi /etc/init.d/mysqld


basedir=/usr/local/mysql 

datadir=/usr/local/mysql/data


이렇게 수정 


update-rc.d mysqld defaults


service mysqld start

service mysqld status (확인창에서 나오려면 q를 누르면됨)

service mysqld stop


명령어 3개로 확인및 껏다키기


./bin/mysql -u root -p


여기서 진입이 안될경우 mysql 비밀번호 재설정 구글링 


혹은 %6123dasjd 이런 식으로 생성이 이미 되있음 경로를 찾아서 vi 혹은 cat으로 확인


--mysql진입--

mysql> use mysql


update user set authentication_string = password('비밀번호') where user = 'root';


flush privileges;


exit or quit