'Linux ( Cent OS )/Apache'에 해당되는 글 3건

Apache 2.4.39 소스 설치

조건 : CentOS 7.6.1810 (minimal ) 만 설치 

        네트워크 환경 


cd /usr/local/src/

yum -y install wget openssl-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel  ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel libtool  libtool-libs openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool-ltdl libtool-ltdl-devel bison expat-devel

yum -y groupinstall "Development Tools"

yum -y install gd gd2 gd-devel gd2-devel wget pcre* openssl* perl libaio


wget http://apache.tt.co.kr//httpd/httpd-2.4.39.tar.bz2

wget http://apache.tt.co.kr/apr/apr-1.6.5.tar.gz

wget http://apache.tt.co.kr/apr/apr-util-1.6.1.tar.gz


tar jxvf httpd-2.4.39.tar.bz2 

tar xvf apr-1.6.5.tar.gz 

tar xvf apr-util-1.6.1.tar.gz


mv apr-1.6.5 apr

mv apr httpd-2.4.39/srclib/

mv apr-util-1.6.1 apr-util

mv apr-util httpd-2.4.39/srclib/


cd httpd-2.4.39


## 커스텀 튜닝 부분입니다. 최소한의 부분이니 그냥 써도 무방합니다.  

sed -i "s/finished(outctx->filter_ctx->pssl)/finished(outctx->filter_ctx->pssl);/g" ./modules/ssl/ssl_engine_io.c

perl -pi -e "s/LIMIT 256/LIMIT 2048/g" server/mpm/prefork/prefork.c

perl -pi -e "s/LIMIT 16/LIMIT 128/g" server/mpm/worker/worker.c


## 컨피그입니다. ssl과 all-shared 부분만 있으면 보통 큰 문제 없음. 

./configure --prefix=/usr/local/apache2 --enable-module=so --enable-mods-shared=all --enable-so --enable-deflate --enable-rewrite --with-included-apr --enable-module=ssl  --enable-ssl=shared --with-ssl --enable-ssl --with-mpm=prefork

make -j 3

make install


## lib 라이브러리 PATH 설정

echo "/lib" >> /etc/ld.so.conf

echo "/usr/lib" >> /etc/ld.so.conf

echo "/usr/local/lib" >> /etc/ld.so.conf

echo "/usr/local/mysql" >> /etc/ld.so.conf

echo "/usr/local/mysql/lib" >> /etc/ld.so.conf

echo "/usr/local/apache2/lib" >> /etc/ld.so.conf




시작 경로는 컨피그 보면 알겠지만

/usr/local/apache2/bin/apachectl 입니다.

2.4는 SSL 엔진 적용을 하더라도 굳이 -D SSL -k start 옵션 줄 필요가 없음. 


'Linux ( Cent OS ) > Apache' 카테고리의 다른 글

[설치] 3. PHP 7.3.4 Source Install  (0) 2019.04.18
[설치] 2. MySQL 5.7.25 Source Install  (1) 2019.04.18
블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

PHP 7.3.4 Stable Source 설치

선행조건 : 반드시 Apache 2.4 + MySQL 5.7.25 Source 설치 진행하고 젤 마지막.

( 컨피그 옵션에 있는 Prefix 경로와 다르면 무조건 error 납니다 ) 

1,2번 먼저 설치하고 젤 나중에 진행하면 됩니다.


CentOS 7.6.1810 

cd /usr/local/src


#[ Mcrypt 모듈 설치를 위한 lib 추가 ]

wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.bz2/download

mv download libmcrypt-2.5.8.tar.bz2

tar jxvf libmcrypt-2.5.8.tar.bz2

cd libmcrypt-2.5.8                         

./configure

make -j 3

make install


yum -y install gdbm gdbm-devel gmp gmp-devel


cd /usr/local/src 

wget https://www.php.net/distributions/php-7.3.4.tar.bz2

tar jxvf php-7.3.4.tar.bz2

cd php-7.3.4

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-zlib-dir=/usr/local --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-libxml-dir=/usr/lib --with-xmlrpc --with-freetype-dir=/usr/lib --with-gmp --with-gd --with-gdbm --with-bz2 --with-pic --with-openssl --with-gettext --enable-wddx --enable-sockets --enable-ftp --enable-bcmath --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-calendar --enable-sysvshm --enable-sysvsem --enable-soap --enable-exif --enable-sigchild  --enable-xml --disable-debug --with-iconv --with-curl --with-mcrypt --enable-fpm

make -j 3

make install


cp /usr/local/src/php-7.3.4/php.ini-production /usr/local/php/lib/php.ini


# php 7.0 이후 mcrypt 모듈 추가하기

cd /usr/local/src/

wget https://pecl.php.net/get/mcrypt-1.0.2.tgz

tar xvzf mcrypt-1.0.2.tgz

cd mcrypt-1.0.2

phpize 

./configure

make -j 3 && make install


echo "extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/mcrypt.so" >> /usr/local/php/lib/php.ini

/usr/local/apache2/bin/apachectl restart

php -m | grep mcrypt 

sleep 3


## Apache 에 php 설정 추가.

sed -i '396iAddType application/x-httpd-php .html .htm .php .php4 .php5 .phtml .cgi .inc' /usr/local/apache2/conf/httpd.conf



#phpinfo 소스 추가

echo "<?php phpinfo(); ?>" > /usr/local/apache2/htdocs/apm_ver.php 

chmod 755 /usr/local/apache2/htdocs/apm_ver.php


#자동시작 등록

chmod +x /etc/rc.local

#echo -e "nameserver 168.126.63.1\nnameserver 8.8.8.8" > /etc/resolve.conf

//nameserver 설정은 사용자 환경에 따라 설정. 

echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.local

echo "/etc/init.d/mysqld start" >> /etc/rc.local



'Linux ( Cent OS ) > Apache' 카테고리의 다른 글

[설치] 1. Apache 2.4.39 Source Install  (0) 2019.04.18
[설치] 2. MySQL 5.7.25 Source Install  (1) 2019.04.18
블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

CentOS 7.6.1810 OS에

Mysql 5.7.25 비교적 신버전 소스 설치 진행.

기본조건 : OS Package Minimal + Development Tools + Wget 설치.  

컨피그 옵션에 Apache 관련이 들어갈 경우, Apache가 먼저 설치되어야 함.

( 보통 소스는 A M P 순서대로 설치 하더랍니다.... )  

cd /usr/local/src/


yum -y install cmake ncurses-devel

groupadd -g 400 mysql

useradd -u 400 -g 400 -d /usr/local/mysql -s /bin/false mysql

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25.tar.gz

tar zxvf mysql-5.7.25.tar.gz

cd mysql-5.7.25


cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

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

-DENABLED_LOCAL_INFILE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DSYSCONFDIR=/etc \

-DDEFAULT_CHARSET=utf8 \

-DMYSQL_TCP_PORT=3306 \

-DWITH_EXTRA_CHARSETS=all \

-DDEFAULT_COLLATION=utf8_general_ci \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/include/boost


make -j 3                 

// CPU 코어가 많은경우 수량 적절히 조절해주면 약간의 속도 효과를 볼 수있음

make install


cd /usr/include/boost/boost_1_59_0

./bootstrap.sh

./b2 install


cd /usr/local/src/


echo "[client]

default-character-set = utf8

port = 3306

socket = /tmp/mysql.sock

default-character-set = utf8


[mysqld]

socket=/tmp/mysql.sock

datadir=/usr/local/mysql/data

basedir = /usr/local/mysql

#user = mysql

#bind-address = 0.0.0.0

#

skip-external-locking

key_buffer_size = 384M

max_allowed_packet = 1M

table_open_cache = 512

sort_buffer_size = 2M

read_buffer_size = 2M

read_rnd_buffer_size = 8M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size = 32M


#dns query

skip-name-resolve


#connection

max_connections = 1000

max_connect_errors = 1000

wait_timeout= 60


#slow-queries

#slow_query_log = /usr/local/mysql/data/slow-queries.log

#long_query_time = 3

#log-slow-queries = /usr/local/mysql/data/mysql-slow-queries.log


##timestamp

explicit_defaults_for_timestamp


symbolic-links=0


### log

log-error=/usr/local/mysql/data/mysqld.log

pid-file=/tmp/mysqld.pid


###chracter

character-set-client-handshake=FALSE

init_connect = SET collation_connection = utf8_general_ci

init_connect = SET NAMES utf8

character-set-server = utf8

collation-server = utf8_general_ci


symbolic-links=0


##Password Policy

#validate_password_policy=LOW

#validate_password_policy=MEDIUM



### MyISAM Spectific options

default-storage-engine = myisam

key_buffer_size = 32M

bulk_insert_buffer_size = 64M

myisam_sort_buffer_size = 128M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1


### INNODB Spectific options

#default-storage-engine = InnoDB

#skip-innodb

#innodb_additional_mem_pool_size = 16M

#innodb_buffer_pool_size = 1024MB

#innodb_data_file_path = ibdata1:10M:autoextend

#innodb_write_io_threads = 8

#innodb_read_io_threads = 8

#innodb_thread_concurrency = 16

#innodb_flush_log_at_trx_commit = 1

#innodb_log_buffer_size = 8M

#innodb_log_file_size = 128M

#innodb_log_files_in_group = 3

#innodb_max_dirty_pages_pct = 90

#innodb_lock_wait_timeout = 120



[mysqldump]

default-character-set = utf8

max_allowed_packet = 16M


[mysql]

no-auto-rehash

default-character-set = utf8


[myisamchk]

key_buffer_size = 256M

sort_buffer_size = 256M

read_buffer = 2M

write_buffer = 2M" > /etc/my.cnf


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

chmod 700 /etc/init.d/mysqld


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


chown -R mysql.mysql /usr/local/mysql

chmod 711 /usr/local/mysql

chmod 707 /usr/local/mysql/data

chmod 751 /usr/local/mysql/bin

chmod 750 /usr/local/mysql/bin/*

chmod 755 /usr/local/mysql/bin/mysql

chmod 755 /usr/local/mysql/bin/mysqldump


echo "export PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/php/bin:" >> /etc/profile

source /etc/profile


/etc/init.d/mysqld [ start | stop | restart ] 


초기패스워드 :  숨겨진 .mysql_secret 파일에 적혀있음.

mysql_secure_install 또는 DB 접속 후 패스워드 갱신해 주어야 합니다.


'Linux ( Cent OS ) > Apache' 카테고리의 다른 글

[설치] 1. Apache 2.4.39 Source Install  (0) 2019.04.18
[설치] 3. PHP 7.3.4 Source Install  (0) 2019.04.18
블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,