페이지 수정 후 즉시 반영 안될 때
php 폴더의 php.ini 파일 편집
opcache.enable=1
1 = 켜져있음
0 = 꺼져잇음
1이면 php 가 같은시간동안 더 많은 웹페이지를 만들어낼수 있다.
하지만 php 파일 수정시 즉시 반영이 아닌 30초 ~ 1분 주기로 웹페이지에 반영되는 이슈.
개발시에는 0으로 놓아야 즉시 개발이 반영된다..
페이지 수정 후 즉시 반영 안될 때
php 폴더의 php.ini 파일 편집
opcache.enable=1
1 = 켜져있음
0 = 꺼져잇음
1이면 php 가 같은시간동안 더 많은 웹페이지를 만들어낼수 있다.
하지만 php 파일 수정시 즉시 반영이 아닌 30초 ~ 1분 주기로 웹페이지에 반영되는 이슈.
개발시에는 0으로 놓아야 즉시 개발이 반영된다..
cent6에 mariadb 10.1 윰설치
vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
cent6에 php5.4 yum 설치
# vi /etc/yum.repos.d/remi.repo
[remi]
name=Remi's RPM repository for Enterprise Linux 6 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/6/remi/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/6/remi/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
mysql php 연동
yum install php-mysql
Ubuntu APM 컴파일 설치 (0) | 2019.12.14 |
---|---|
centos6 apache2.2 + php5.3 + mysql5.1 (0) | 2019.06.26 |
ubuntu 18 apm 소스설치 (0) | 2019.06.01 |
mysql 5.7 설치 (0) | 2019.04.30 |
apache 2.4.x 설치 (0) | 2019.04.30 |
./configure \
--prefix=/usr/local/apache2 \
--enable-mods-shared=all \
--enable-deflate \
--enable-proxy \
--enable-proxy-balancer \
--enable-proxy-http \
--with-ssl=/usr/local/openssl \
--enable-ssl \
LIBS=-L/usr/local/openssl \
CPPFLAGS=-I/usr/local/openssl/include/openssl
우분투 18.04에 http2.2소스설치
sudo apt-get install --reinstall zlibc zlib1g zlib1g-dev
configure: error: ...No recognized SSL/TLS toolkit detected
apt-get install libssl-dev openssl
error: ... Error, SSL/TLS libraries were missing or unusable
openssl 소스설치 해야함
make[4]: *** [mod_ssl.la] Error 1
make[4]: Leaving directory `/home/backup/tar/src/httpd-2.4.3/modules/ssl'
make[3]: *** [shared-build-recursive] Error 1
make[3]: Leaving directory `/home/backup/tar/src/httpd-2.4.3/modules/ssl'
make[2]: *** [shared-build-recursive] Error 1
make[2]: Leaving directory `/home/backup/tar/src/httpd-2.4.3/modules'
make[1]: *** [shared-build-recursive] Error 1
make[1]: Leaving directory `/home/backup/tar/src/httpd-2.4.3'
make: *** [all-recursive] Error 1
[root@linux httpd-2.4.3]#
해결방법
openssl 소스 컴파일을 할때 -fPIC 옵션을 추가하고 컴파일 해야합니다.
./config -fPIC
www.modssl.or.kr 에서는 -fPIC 옵션에 대해다음과 같이 설명하고 있습니다.
"./config -fPIC로 해, DSO판 작성시에 필요한 PIC(Position Independent Code)옵션을 지정해 config한다.
php
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/apache2/conf \
--with-regex=php \
--with-zlib \
--disable-debug \
--enable-calendar \
--enable-ftp \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-magic-quotes
configure: error: xml2-config not found. Please check your libxml2 installation
apt-get install libxml2-dev
error: dereferencing pointer to incomplete type ‘xmlBuf {aka struct _xmlBuf}’
root@techsmile-61583:/usr/local/src/php-5.3.3/ext/gd# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script
위 에러뜨면서 configure가 생성되지 않는다.
apt-get install autoconf
configure error: png.h not found.
gd 설치 시 해당 에러 발생하면
apt-get install libpng-dev
18.04 mysql5.1 소스 설치
컨피규 에러
checking for termcap functions library... configure: error: No curses/termcap library found
-> apt-get install ncurses-dev
소스코드 컴파일 에러 시 컨피큐 후 중간에 gcc등을 설치하면 발생할 수 있다.
make clean 후 재컴파일 후 순차적으로 다시 시도 해봐야 한다.
./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/usr/local/apache2/conf –with-regex=php –with-zlib --with-zlib-dir –disable-debug –enable-calendar –enable-ftp –enable-sockets –enable-sysvsem –enable-sysvshm –enable-magic-quotes --with-mysql=/usr/local/mysql --with-mod_charset --enable-safe-mode --enable-sigchild --with-openssl --with-bz2 --with-jpeg-dir --with-tiff-dir --with-curl --enable-dba --with-gdbm --enable-dbx --with-dom --enable-exif --with-gd --with-jpeg-dir --with-png-dir --with-ttf --with-freetype-dir --enable-gd-native-ttf --with-gettext --with-iconv --with-imap --with-imap-ssl --with-kerberos --enable-mbstring --with-openssl-dir --with-mhash --with-mcrypt --enable-sysvmsg --enable-wddx --enable-zend-multibyte --with-zip
--with-imap
--with-openssl
php 설치
컨피규 중 에러
error: Please reinstall the BZip2 distribution
=> apt-get install libbz2-dev
컨피규 중 에러
error: Please reinstall the libcurl distribution
cd /usr/local/include sudo ln -s /usr/include/x86_64-linux-gnu/curl curl
=> sudo apt-get install libcurl4-gnutls-dev
컨피규 중 에러
error: DBA: Could not find necessary header file(s)
=> apt-get install libgdbm-dev
컨피규 중 에러
error: libjpeg.(a|so) not found
=> 설치 사이트 https://codeng.tistory.com/209
=> apt-get install libjpeg-devel???
=> # ln -s /usr/lib64/libjpeg.so /usr/lib/
# ln -s /usr/lib64/libpng.so /usr/lib/
컨피규 중 에러
error: freetype.h not found.
=> 옵션에 --with-xpm-dir=/usr/local/src/php-5.3.3/ext/gd/tests 추가
컨피규 중 에러
error: Problem with libpng.(a|so) or libz.(a|so).
=> --with-zlib-dir
make 시 에러
/usr/bin/ld: cannot find lltdl
=> sudo apt-get install libltdl-dev
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/apache2/conf --with-mysql=/usr/local/mysql --with-mod_charset --enable-safe-mode --enable-sigchild --enable-magic-quotes --with-openssl --with-zlib --with-zlib-dir --with-bz2 --enable-calendar --with-jpeg-dir --with-tiff-dir --with-curl --enable-dba --with-gdbm --enable-dbx --with-dom --enable-exif --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-ttf --with-freetype-dir --enable-gd-native-ttf --with-gettext --with-iconv --with-imap --with-imap-ssl --with-kerberos --enable-mbstring --with-openssl-dir --with-mhash --with-mcrypt --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-sockets --with-regex=php --enable-zend-multibyte --with-zip
apm 5 - 7.5 버전
dns 3 - 4.5 // X
백업 5 - 7.5 경로
ㄴ니 3 설정 파일
roundcubuMail 3 - 4.5
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/apache2/conf --with-regex=php --with-zlib --disable-debug --enable-calendar --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-magic-quotes
centos6 apache2.2 + php5.3 + mysql5.1 (0) | 2019.06.26 |
---|---|
centos6 mariadb 10.1 , php5.4 yum설치 (0) | 2019.06.11 |
mysql 5.7 설치 (0) | 2019.04.30 |
apache 2.4.x 설치 (0) | 2019.04.30 |
mysql 설치 (0) | 2019.01.30 |
설치를 원하는 모듈의 디렉토리로 이동한다.
# cd /usr/local/src/php/ext/mysqli
phpize 명령어를 실행한다.
# /usr/local/php/bin/phpize
configure를 실행 한다.
# /configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
# make
# make install
make install이 완료되면 모듈이 설치된 경로가 출력된다.
php.ini 파일의 extension 부분을 수정한다.
# vi /usr/local/apache/conf/php.ini
[extension]
extension_dir=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/
extension=mysqli.so
아파치를 재실행 한다.
# apachectl restart
모듈이 추가 됐는지 확인.
# /usr/local/php/bin/php -m
--참고 사항--
ubuntu 18.04에 소스설치한 php5.3에 gd 모듈 추가 시 error가 발생함
./configure --with-libdir=/usr/local/lib --enable-gd --with-php-config=/usr/local/php/bin/php-config
If configure fails try --with-jpeg-dir=
configure: error: libpng.(a|so) not found.
# getconf LONG_BIT 명령어로 운영체제 bit 수 확인 후 lib 또는 lib64 디렉토리에 libpng.so, libpng.a 파일의 링크를 걸어준다
# ln -s /usr/lib64/libpng.so /usr/lib
경로 지정 후 컨피큐가 되지 않을 경우 절대 경로를 입력하지 말고 해당 디렉토리만 기입한다.
./configure --with-libdir=/usr/lib64 --enable-gd --with-php-config=/usr/local/php/bin/php-config 안될 경우
./configure --with-libdir=lib64 --enable-gd --with-php-config=/usr/local/php/bin/php-config
fdisk로 파티션 설정 후 포멧하기
# fdisk -l
#fdisk /dev/sdd
Command (m for help ) : n
Command action
e extended
p primary partition (1-4)
p
enter
enter
Command (m for help) : p
Command : w
파티션 설정 완료
# mkfs.ext4 /dev/sdd1
done이 세 번 출력되면 포맷이 완료된 상태이다.
# mkfs -t ext4 /dev/sdd1 <- 이런식으로 다르게 입력할 수 있다.
parted로 파티션 설정 후 포맷하기
# cat /boot/config-'config-2.6.32-5.4.e16.i686' |grep EFI -> 설치 확인
4가지 값이 y 이어야 GPT를 사용할 수 있다.
# yum install parted -> parted 설치
# parted -l
# parted /dev/sdd -> parted 설정
(parted) mklabel gpt -> gpt로 라벨링*
(parted) unit gb -> parted에서 사용할 단위로 GB설정
(parted) mkpart primary 0 30GB -> 0부터 사용범위 지정
(parted) mkpart primary 30GB 100% -> 30GB 부터 마지막까지 지정
(parted) print -> 디스크 정보 출력, 해당 명령어로 파티션이 나누어진 것을 확인
파티션 설정 완료
# parted -l
# mkfs.ext4 /dev/sdc1
# mkfs.ext4 /dev/sdc2
-참고 사항-
윈도우용 파일시스템으로 포맷된 디스크나, USB에 마운트를 할 경우
mount : unkonwn filesystem type 'ntfs' <- 라고 나오면서 마운트가 되지 않는 경우가 있다.
해당 디스크를 마운트 하기 위해선 추가적인 패키지 설치가 필요하다.
NTFS 드라이버 설치를 위해 epel 저장소를 추가한다.
#yum install epel-release
저장소 추가후 드라이버를 설치한다.
yum install ntfs-3g
패키지 설치 후 마운트를 진행한다.
mount /dev/sdb /test
또는
mount -t ntfs /dev/sdb /test
#yum install cmake ncurses-devel
#groupadd -g 400 mysql
#useradd -u400 -g400 -d /usr/local/mysql -s /bin/false mysql
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
#tar xvfz mysql-5.7.x.tar.gz
#cd mysql-5.7.x
#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/local/include/boost
(--DDEFAULT_CHARSET=euckr --DDEFAULT_COLLATION=euckr_korean_ci 로 변경 가능)
#make
#make install
- 초기 데이터베이스 구성 및 권한 설정
# /usr/local/src/mysql-5.7.x/client/mysql_install_db –user=mysql --datadir=/usr/local/mysql/data –basedir=/usr/local/mysql
# chown -R mysql.mysql /usr/local/mysql
# chmod 711 /usr/local/mysql
# chmod 700 /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
boost 설치
#cd /usr/local/include/boost/boost_1_59_0
#./bootstrap.sh
#./b2 install
자동 실행 설정 및 데이터 디렉토리 설정
#cp -arp /usr/local/mysql/support -files/my-default.cnf /etc/my.cnf
#cp -arp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#chmod 700 /etc/init.d/mysqld
#vi /etc/my.cnf
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
#chkconfig --add mysqld
#chkconfig --level mysqld on
초기 로그인
#vi /root/.mysql_secret <- 여기 에서 초기 패스워드 확인.
위의 방법 말고 safe 모드로 접속하는 방법이 있다.
#/etc/init.d/mysqld stop
#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
#mysql
mysql>update user set authentication_string=password('패스워드') where user='root';
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges;
Query OK,0 rows affected (0.00 sec)
SET PASSWORD = PASSWORD('your_new_password');
centos6 apache2.2 + php5.3 + mysql5.1 (0) | 2019.06.26 |
---|---|
centos6 mariadb 10.1 , php5.4 yum설치 (0) | 2019.06.11 |
ubuntu 18 apm 소스설치 (0) | 2019.06.01 |
apache 2.4.x 설치 (0) | 2019.04.30 |
mysql 설치 (0) | 2019.01.30 |
http://archive.apache.org 에서 httpd,apr,apr-util 원하는 버전 받기
필수 구성 요소 설치
# yum install openssl openssl-devel mhash mhash-devel libtool libtool-ltdl libtoolltdl-devel imap-devel imap zlib-devel zlib freetype-devel freetype libpng-devel libpng libjpeg-devel libjpeg libtiff-devel libtiff gd-devel gd pcre-devel pcre libxml-devel libxml libxml2-devel libxml2 gdbm-devel gdbm ncurses-devel ncurses curl-devel curl expatdevel expat bzip2-devel bzip2-libs bzip2 libc libc-devel libc-client-devel gcc*
apr 설치
#./configure --prefix=/usr/local/apr
#make
#make install
apr-util 설치
#./configure --with-apr=/usr/local/apr
#make
#make install
httpd 설치
#vi httpd-2.4.x/server/mpm/prefork/prefork.c
#defin DeFAULT_SERVER_LIMIT 256 <- 1024로 변경
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --enable-modules=shared --enable-mods-shared=all --with-apr=/usr/local/apr --with-mpm=prefork --with-apr-util=/usr/local/apr
#make
#make install
vi /usr/local/apache/conf/httpd.conf
-ServerName www.example.com:80 <- ServerName 127.0.0.1:80 으로 변경
AddType application/x-httpd-php .php .html .htm .inc .pia <- 구문을 추가해준다.
AddType application/x-httpd-php-source .phps <- 구문을 추가해준다.
(위에 2개 구문 추가 후, php설치 및 연동이 되지 않으면 웹페이지가 정상적으로 출력되지 않는다. )
<IfModule unixd_module>
User daemon <- nobody로 수정한다.
Group daemon <- nobody로 수정한다.
</IfModule>
<IfModule dir_module>
DirectoryIndex index.html index.php index.jsp <- 구문을 추가해준다.
</IfModule>
자동 실행 설정
#cp -arp /usr/local/apache/bin/apachectl /etc/init.d/
#chmod 700 /etc/init.d/apachectl
#vi /etc/init.d/apachectl
#!bin/sh 밑에 아래 다섯 줄 추가
# chkconfig: 2345 90 90
# description: init file for Apache server daemon
# processname: /usr/local/server/apache/bin/apachectl
# config: /usr/local/server/apache/conf/httpd.conf
# pidfile: /usr/local/server/apache/logs/httpd.pid
#chkconfig --add apachectl
#chkconfig --level 3 apachectl on
centos6 apache2.2 + php5.3 + mysql5.1 (0) | 2019.06.26 |
---|---|
centos6 mariadb 10.1 , php5.4 yum설치 (0) | 2019.06.11 |
ubuntu 18 apm 소스설치 (0) | 2019.06.01 |
mysql 5.7 설치 (0) | 2019.04.30 |
mysql 설치 (0) | 2019.01.30 |
rsync -avzPog /origindata/ /home/ -> 로컬에서 로컬로 이동
rsync -avzPog /경로 유저@호스트:/경로 -> 로컬에서 원격으로 이전
rsync -e 'ssh -p 1980' -avzPog /usr/local/src/APM_Setup root@49.247.x.x:/usr/local/src/ -> ssh port 사용
rsync -avzPog --exclude=sess_* -e ssh root@115.68.x.x:/home/* /home/ -> -e옵션으로 원격 접속 방법을 선택할 수 있다. --exclude는 이전하는 디렉토리에서 제외할 파일을 제외한다. (해당 명령어는 로컬에서 원격 데이터를 당기는 명령어)
윈도우 파일 복사 - xcopy /S/D/E/H/Y \원본폴더 대상폴더
S 하위디렉토리 복사
D 변동있는 파일만 복사
E 비어있는 파일도 함께 복사
H 숨겨진 파일도 복사
Y 덮어쓸건지 물어보지 않게 설정(덮어쓰여짐)
cmd 창에서 배치파일 실행 : cscript 파일명.vbs