순서는 다음과같습니다.
openssl 업데이트 → mysql설치 → apache설치 → php설치
사용버전정리
centOS 7 | openssl | pcre | apache | apr | apr-util | mysql | php |
1810 | 1.1.1b | 8.43 | 2.4.38 | 1.6.5 | 1.6.1 | 8.0.15 | 7.3.3 |
아파치는 최신버전이 rpm으로 거의 배포되고있지 않음으로 주로 컴파일설치(소스설치)를 통해 이루어집니다.
필수 설치
# yum install gcc-c++
# yum install expat-devel
우선은 아파치설치에 앞서, pcre를 설치합니다.
download 미러에서 가장 최신버전을 받았습니다. (pcre2는 안된다고합니다)
# mkdir -p /usr/local/src/apache
# cd /usr/local/src/apache
# wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
# tar -xvzf pcre-8.43.tar.gz
# cd pcre-8.43
# ./configure
# make
# make install
pcre설치가 완료되었습니다.
아파치설치에 필요한 파일들을 받습니다.
http://apache.mirror.cdnetworks.com/
아파치 다운로드 미러입니다.
여기서 httpd를 검색해(ctrl+f를 활용합시다~) 들어갑니다.
그 다음 httpd.tar.gz 나 bz2 를 우클릭하여 링크주소 복사를 합니다.
저는 tar.gz를 사용하도록 하겠습니다.
# cd ..
# wget http://apache.mirror.cdnetworks.com/httpd/httpd-2.4.38.tar.gz
다음엔 다운로드 미러에서 apr을 검색합니다
apr-1.6.5.tar.gz, apr-util-1.6.1.tar.gz
요거 두개도 wget을 활용하여 다운로드 받습니다.
# wget http://apache.mirror.cdnetworks.com/apr/apr-1.6.5.tar.gz
# wget http://apache.mirror.cdnetworks.com/apr/apr-util-1.6.1.tar.gz
3파일 모두 압축을 풉니다.
# tar -xvzf httpd-2.4.38.tar.gz
# tar -xvzf apr-1.6.5.tar.gz
# tar -xvzf apr-util-1.6.1.tar.gz
apr친구들을 httpd srclib폴더에 넣어줍니다.
# mv apr-1.6.5 httpd-2.4.38/srclib/apr
# mv apr-util-1.6.1 httpd-2.4.38/srclib/apr-util
apache를 설치합니다.
# cd httpd-2.4.38
# ./configure --prefix=/usr/local/apache --enable-so --enable-ssl=shared --with-ssl=/usr/local/ssl --enable-rewrite
주의! 앞에서 설치한 openssl 업데이트데로 업데이트했을때는 이것이 확실히 적용되며
다른방법으로 openssl을 업데이트했을경우 다르게 해야할 가능성이 존재함.
제가알기론 centos7순정의 openssl은 공유라이브러리인걸로 알아서 상관없을 겁니다.
# make
# make install
서비스를 등록합니다.
# vi /usr/lib/systemd/system/httpd.service (새로운파일작성)
[Unit]
Description=The Apache HTTP Server
[Service]
Type=forking
PIDFile=/usr/local/apache/logs/httpd.pid
ExecStart=/usr/local/apache/bin/apachectl start
ExecReload=/usr/local/apache/bin/apachectl graceful
ExecStop=/usr/local/apache/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
서비스파일명이 곧 서비스이름이기때문에 httpd든 apache든 원하는 이름으로 하시길 바랍니다.
apache설치가 완료되었습니다.
아파치를 실행합니다.
# systemctl httpd start
웹브라우저에 웹서버 ip를 쳐서 접속확인
오류
{
pcre configure과정중
configure: error: Invalid C++ compiler or C++ compiler flags
# yum install gcc-c++
}
{
httpd make과정중
xml/apr_xml.c:35:19: fatal error: expat.h: 그런 파일이나 디렉터리가 없습니다.
# yum install expat-devel
# make clean
# make
}
{
마지막에 웹으로 접근이 되지않을때
1. 방화벽끄기(초간단방법)
# systemctl stop firewalld
2. 방화벽에서 웹포트열기(권장)
# vi /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<service name="http"/>
<service name="https"/>
<port protocol="tcp" port="8080"/>
</zone>
# firewall-cmd --reload
웹에 쓰이는 80포트 443포트 8080포트를 열어주는 것입니다.
}
'IT, Computer > Linux' 카테고리의 다른 글
DNS 서버만들기 (0) | 2019.03.27 |
---|---|
CentOS 7 APM 설치 - php7.3.3 설치(컴파일설치) (1) | 2019.03.26 |
CentOS 7 APM 설치 - Mysql8 설치 (0) | 2019.03.26 |
CentOS 7 APM 설치 - Openssl 1.1.1b 업데이트(컴파일설치, shared설치) (1) | 2019.03.26 |
centOS 7 설치방법 (0) | 2019.03.25 |