우분투 APM 소스설치하기

devdo·2021년 4월 9일
0

우분투에 소스설치로 APM 설치

Apache 설치

Apache2.4 버전으로 설치하자.

여기서 설치하기전에 준비할 것


putty 설치 접속
// 복붙이 유리하다.
리눅스 복붙 명령어
ctrl + Ins : 복사
shift + Ins : 붙이기


이런식으로 커맨드창이 우분투 창보단 디자인이 별로지만 윈도우상에서 복붙이 편리하기에 원격접속프로그램을 최대한 활용해보았다.

putty 접속방법은 이 블로그를 참조했다. https://m.blog.naver.com/jeonsr/221792705148

먼저 패키지를 깔아야 한다.

$ apt-get install gcc
$ apt-get install g++
$ apt-get install --reinstall make
$ apt-get install libexpat1-dev
$ apt-get install libexpat-dev
# wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.gz
# wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz
# tar xvfz apr-1.7.0.tar.gz
# tar xvfz apr-util-1.6.1.tar.gz

Apache을 깔기전 세가지를 기본적으로 깔아야 한다. 바로 apr과 apr-util 그리고 pcre이다.

1) apr 설치

$ cd usr/local/apr-1.7.0
$ ./configure --prefix=/usr/local/apr
$ cp -arp libtool libtoolT
$ make
$ make install

2) apr_util 설치

$ cd usr/local/apr-util-1.6.1
$ ./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util 
$ make
$ make install

3) pcre 설치

$ cd usr/local
$ wget ftp://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
$ tar xvfz pcre-8.43.gar.gz
$ cd usr/local/pcre-8.43
$ ./configure --prefix=/usr/local/pcre
$ make
$ make install

이제 진짜 Apache를 깔아보자.

$ cd /usr/local
$ wget http://apache.tt.co.kr//httpd/httpd-2.4.41.tar.gz
$ tar xvfz httpd-2.4.41.tar.gz

configure, make, make install 명령어로 설치하고 실행시키도록 한다.

$ cd httpd-2.4.41
$ ./configure --prefix=/usr/local/apache2.4 \
--enable-module=so --enable-rewrite --enable-so \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/loacl/apr-util \
--with-pcre=/usr/local/pcre \
--enable-mods-shared=all
$ make
$ make install

실행시키는 명령어로 확인해보자.

$ sudo /usr/local/apache2.4/bin/httpd -k start
$ ps -ef|grep httpd|grep -v grep
$ sudo netstat -anp|grep httpd
$ sudo curl http://127.0.01


결과)

참고) ServerName을 바꾸자.

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

이런 메시지를 피하는 방법이 있다.

$ cp /usr/local/apache2.4/bin/apachectl /etc/init.d/httpd 

그리고 httpd.conf 파일을 수정하여 ServerName 을 바꿔주자.


이렇게 수정하면 메시지 이상이 뜨지 않을 것이다.


mysql 설치

일단 미리 패키지 설치할 것!

$ apt-get update
$ apt-get install cmake
$ apt-get install libssl-dev
$ apt-get install libboost-all-dev
$ apt-get install libncurses5-dev libncursesw5-dev
$ cd /usr/local
$ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19.tar.gz
$ tar xvfz mysql-8.0.19.tar.gz
$ cd /usr/local/mysql-8.0.19
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/mysql/boost 

꼭 코드에 cmake 아래 .. \ 를 쳐야한다.
그리고 결과는 이렇게 나온다.

다음엔

make
make install

오류 발생

sql/cmakefiles/sql_gis.dir/ 쯤에 계속 오류 발생!

https://www.programmersought.com/article/93401636364/
문제는 Out of memory 문제인 것 같아 요기 링크를 보고 오류를 해결해 보았다.

#1, create an empty file
dd if=/dev/zero of=/media/swapfile.img bs=1024 count=1M

2, generate a file exchange system
mkswap /media/swapfile.img

3, set the boot
vi /etc/fstab
/media/swapfile.img swap swap sw 0 0

4, activate
swapon /media/swapfile.img

5. Is the verification successful?
[root@izwz956snfyrvah6yq8sa4z ~]# cat /proc/swaps
Filename                                Type            Size    Used    Priority
/media/swapfile.img                     file            1048572 0       -2
 
[root@izwz956snfyrvah6yq8sa4z ~]# grep 'Swap' /proc/meminfo
SwapCached:            0 kB
SwapTotal:       1048572 kB
SwapFree:        1048572 kB

그리고 잘 나갔다. 휴우...

드디어 성공!
make는 장차 3시간이 걸린다... 책이나 영화 한편 보고 다른 소일거리를 하는 게 정신건강에 좋을 것 같다..


php 설치

미리 패키지를 다운로드해야 한다.

$ apt-get install libxml2-dev
$ apt-get install libjpeg-dev
$ apt-get install libpng-dev
$ apt-get install libsqlite3-dev

버전은 7.4.1버전을 사용했다.

$ cd /usr/local
$ wget https://www.php.net/distributions/php-7.4.1.tar.gz
$ tar xvfz php-7.4.1.tar.gz

여기선
mysqlnd만 잘 써주면 된다.

$ cd php-7.4.1
$ ./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

$ make
$ make test
$ make install

결과로는 이렇게 나온다.

제대로 설치되었는지는 apache2.4/modules에 libphp7.so가 있는지 확인하면 된다.

php설치는 완료되었다.

아파치와 연동하면, 된다.

/usr/local/apache2.4/conf/httpd.conf 의 아파치 설정파일 (httpd.conf) 을 열어서 PHP 모듈이 설치되어 있는지 확인한다.

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

그리고 아파치 설정파일 (httpd.conf) 에 php so 파일이 잘 설치되었는지 확인되었으면,
아파치 설정파일을 vi 편집기로 열어 mime_module 에 AddType 을 해준다.

php.ini 는 php 의 설정파일이라고 할 수 있다. 맨 처음에 php-7.4.1.tar.gz 파일을 압축해제한 php-7.4.1 디렉토리로 가보면 php.ini-development 와 php.ini-production 두 개의 파일이 있다. 프로덕션 시스템용과 개발 시스템 용 두 가지 버전인데, 개발용은 더 많은 오류와 경고를 표시하지만, 보안상의 이유로 개발환경에서만 사용해야 한다.

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

$ cd /usr/local/apache2.4/htdocs
$ vi phpinfo.php
<? php
phpinfo();
?>

httpd -k start 명령어로 아파치를 실행시킨다. ps -ef | grep httpd 명령어로 아파치가 실행중인지도 확인한다.

$ sudo /usr/local/apache2.4/bin/httpd -k start
$ ps -ef|grep httpd|grep -v grep
$ sudo netstat -anp|grep httpd
$ sudo curl http://127.0.0.1

참고:https://salix97.tistory.com/142?category=837576


php & mysql 연동하기

cd usr/local/apche2.4/htdocs 
vi connect.php
<?php
    $host = 'localhost';
    $user = 'root';
    $pw = 'root';
    $dbName = 'myClass';
    $mysqli = new mysqli($host, $user, $pw, $dbName);
 
    if($mysqli){
        echo "MySQL 접속 성공";
    }else{
        echo "MySQL 접속 실패";
    }
?>

위와 같이 작성후 htdocs 폴더에 파일명 [connect.php]로 저장후
웹브라우저를 실행하고 주소를 localhost/connect.php 를 입력하면 결과를 볼 수 있다.

결과

참고:https://www.everdevel.com/PHP/linkage-php-mysql/

profile
배운 것을 기록합니다.

0개의 댓글