우분투에 소스설치로 APM 설치
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 을 바꿔주자.
이렇게 수정하면 메시지 이상이 뜨지 않을 것이다.
일단 미리 패키지 설치할 것!
$ 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시간이 걸린다... 책이나 영화 한편 보고 다른 소일거리를 하는 게 정신건강에 좋을 것 같다..
미리 패키지를 다운로드해야 한다.
$ 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
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 를 입력하면 결과를 볼 수 있다.
결과