뭘 이런걸..
[root@host ~]# rpm -Uhv http://mirror.oops.org/pub/AnNyung/2/core/x86_64/annyung-release-2.8-2.an2.noarch.rpm
<VirtaulHost *:80>
ServerName oops.org
ServerAlias www.oops.org
</VirtaulHost>
<IfModule md_module>
MDomain oops.org
MDCertificateAgreement https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
<VirtaulHost *:443>
ServerName oops.org
ServerAlias www.oops.org
SSLEngine On
</VirtaulHost>
</IfModule>
[root@host ~]# tail -f /var/log/httpd/error_log
[Tue Apr 10 23:53:51.043029 2018] [md:notice] [pid 88797] AH10059: The Managed Domain oops.org has been setup and changes will be activated on next (graceful) server restart.
안녕 3.2 출시 준비를 마쳤습니다.
일단, CentSO 7.4 업데이트에 해당되는 안녕의 package 들은 이미 repository에 선 반영이 되어 있으며, CentOS 7.4 가 출시되면, annyung-release pacakge가 배포 되면서 공식적으로 AnNyung 3.2 (Aang) 배너로 변경하게 됩니다.
annyung-release-3.2 는 CentOS 7.4가 정식으로 출시되고, 한국 mirror에 sync가 되는 시점에 배포할 예정입니다.
참고할 사항으로는,
안녕 리눅스의 openssl 1.0.1e package들이 deprecated 되어 repository에서 제거 되었습니다. 안녕의 openssl은 HTTP/2 protocol 지원을 위하여
1.0.2의 ALPN 기능을 back porting 하여 제공하였으나, CentOS 7.4 부터 1.0.2k를 지원하므로 더이상 유지할 이유가 없어져 안녕 repository에서
제거가 되었습니다.
또한, 안녕의 openssl package는 CentOS의 package로 업데이트 되는 것을 방지하기 위하여, CentOS의 package보다 상위 버전처럼 하기 위하여 높>은 값의 epoch 버전을 가지고 있습니다. 그러므로 아무런 조치를 하지 않는다면 안녕의 1.0.1e는 CentOS 7.4를 설치하더라도 1.0.2k로 업데이트 >되지 않습니다.
이 문제를 해결하기 위하여, annyung-release-3.2 package에서 이를 보정하도록 되어 있고, CentOS 7.4가 한국 mirror 서버들에 동기화가 되었을>때, annyung-release-3.2를 배포할 예정이므로, CentOS 7.4로 업데이트가 되었다고 해도 annyung-release 3.2가 설치 되어 있지 않으면 여전히 op
enssl 1.0.1e 버전이 유지되오니 참고 하시기 바랍니다.
annyung-release 3.2가 설치 되기 전에, 또는 annyung-release package를 설치하기를 원치 않는 경우에는 다음 명령으로 1.0.2k 로 현시점에 바로
업데이트 할 수 있습니다.
rpm -q openssl | grep "\.an3" >& /dev/null
[ $? -eq 0 ] && yum downgrade "openssl*"
[root@host ~]$ rpm -Uhv --force http://mirror.oops.org/pub/AnNyung/2/inst/annyung-release.rpm
[root@host ~]$ rpm -e gpg-pubkey-0eff2026-4eedfee5
[root@host ~]$ yum update ntp
[root@host ~]$ service ntpd stop
[root@host ~]$ ntptime -s 0 -f 0
[root@host ~]$ # ntpd의 OPTIONS 변수에 -x 를 추가해 줍니다.
[root@host ~]$ cat /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"
[root@host ~]$ service ntpd restart
# slew mode for leap second
leapsecmode slew
maxslewrate 1000
smoothtime 400 0.001 leaponly
[oops@an3 ~]$ # vim syntax directory를 생성 합니다.
[oops@an3 ~]$ mkdir -p ~/.vim/syntax
[oops@an3 ~]$ # tab의 바탕색을 푸른색으로 하는 syntax color를 설정 합니다.
[oops@an3 ~]$ cat <<EOF > ~/.vim/syntax/python.vim
syn match Tab "\t"
hi def Tab guifg=blue ctermbg=blue
EOF
[oops@an3 ~]$
[oops@an3 ~]$ curl -o tabdistinct.vim \
[oops@an3 ~]$ # vim plugin directory를 생성 합니다.
[oops@an3 ~]$ mkdir -p ~/.vim/plugin
[oops@an3 ~]$ mv tabdistinct.vim ~/.vim/plugin/
[oops@an3 ~]$
Zend:
--with-zend-vm=TYPE Set virtual machine dispatch method. Type is
one of "CALL", "SWITCH" or "GOTO" TYPE=CALL
[root@an3 php-7.1.0]$ cd Zend
[root@an3 Zend]$ php zend_vm_gen.php --with-vm-kind=GOTO
[root@an3 Zend]$ cd ..
[root@an3 php-7.1.0]$ ./configure --with-옵션....
[root@an3 php-7.1.0]$ make -j 8 && make install
참고:
5.6 에서는 GOTO로 이 파일들을 생성하면, 빌드시에 syntax error가 발생하는 버그가 있습니다. 5.6에서는 zend_vm_execute.h에서 "constant_fetch_end"이 duplicate되었다는 에러가 발생 합니다. zend_vm_execute.h에서 중복된 constant_fetch_end 라벨을 constant_fetch_end1, constant_fetch_end2, constant_fetch_end3 과 같이 중복되지 않게 변경해 주면 됩니다.
diff -urNp php-7.1.0.org/ext/standard/link.c php-7.1.0/ext/standard/link.c
--- php-7.1.0.org/ext/standard/link.c 2016-12-02 11:07:40.000000000 +0900
+++ php-7.1.0/ext/standard/link.c 2016-12-09 17:28:34.301410867 +0900
@@ -126,6 +126,16 @@ PHP_FUNCTION(symlink)
char dirname[MAXPATHLEN];
size_t len;
+ if (PG(open_basedir) && *PG(open_basedir) && PG(realpath_cache_force)) {
+ php_error_docref(
+ NULL TSRMLS_CC,
+ E_ERROR,
+ "The relapath_cache_force option is enabled. "
+ "For security issue, symlink function is not usable."
+ );
+ RETURN_FALSE;
+ }
+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "pp", &topath, &topath_len, &frompath, &frompath_len) == FAILURE) {
return;
}
@@ -182,6 +192,16 @@ PHP_FUNCTION(link)
char source_p[MAXPATHLEN];
char dest_p[MAXPATHLEN];
+ if (PG(open_basedir) && *PG(open_basedir) && PG(realpath_cache_force)) {
+ php_error_docref(
+ NULL TSRMLS_CC,
+ E_ERROR,
+ "The relapath_cache_force option is enabled. "
+ "For security issue, link function is not usable."
+ );
+ RETURN_FALSE;
+ }
+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "pp", &topath, &topath_len, &frompath, &frompath_len) == FAILURE) {
return;
}
diff -urNp php-7.1.0.org/main/main.c php-7.1.0/main/main.c
--- php-7.1.0.org/main/main.c 2016-12-09 17:28:25.502936720 +0900
+++ php-7.1.0/main/main.c 2016-12-09 17:28:34.302410921 +0900
@@ -725,6 +725,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("realpath_cache_size", "16K", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_size_limit, virtual_cwd_globals, cwd_globals)
STD_PHP_INI_ENTRY("realpath_cache_ttl", "120", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_ttl, virtual_cwd_globals, cwd_globals)
+ STD_PHP_INI_ENTRY("realpath_cache_force", "0", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_force, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("upload_image_check", "0", PHP_INI_SYSTEM, OnUpdateBool, upload_image_check, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("upload_image_check_log", "0", PHP_INI_ALL, OnUpdateBool, upload_image_check_log, php_core_globals, core_globals)
@@ -1779,7 +1780,7 @@ int php_request_startup(void)
}
/* Disable realpath cache if an open_basedir is set */
- if (PG(open_basedir) && *PG(open_basedir)) {
+ if (PG(open_basedir) && *PG(open_basedir) && !PG(realpath_cache_force)) {
CWDG(realpath_cache_size_limit) = 0;
}
@@ -2362,7 +2363,7 @@ int php_module_startup(sapi_module_struc
zend_register_standard_ini_entries();
/* Disable realpath cache if an open_basedir is set */
- if (PG(open_basedir) && *PG(open_basedir)) {
+ if (PG(open_basedir) && *PG(open_basedir) && !PG(realpath_cache_force)) {
CWDG(realpath_cache_size_limit) = 0;
}
diff -urNp php-7.1.0.org/main/php_globals.h php-7.1.0/main/php_globals.h
--- php-7.1.0.org/main/php_globals.h 2016-12-09 17:28:25.503936774 +0900
+++ php-7.1.0/main/php_globals.h 2016-12-09 17:28:34.303410975 +0900
@@ -154,6 +154,7 @@ struct _php_core_globals {
zend_long max_input_nesting_level;
zend_long max_input_vars;
zend_bool in_user_include;
+ zend_bool realpath_cache_force;
zend_bool upload_image_check;
zend_bool upload_image_check_log;
diff -urNp php-7.1.0.org/php.ini-development php-7.1.0/php.ini-development
--- php-7.1.0.org/php.ini-development 2016-12-09 17:22:39.522475756 +0900
+++ php-7.1.0/php.ini-development 2016-12-09 17:28:34.304411028 +0900
@@ -351,6 +351,12 @@ disable_classes =
; http://php.net/realpath-cache-ttl
;realpath_cache_ttl = 120
+; If set on safe_mode or open_basedir, realpth_cache is disable. Set 1 this
+; directive, realpath_cache is enable with realpath_cache_size and realpath_cache_ttl
+; although safe_mode or open_basedir set enable. If you want to enable this variable,
+; We recommand that symlink function is set to disable_functions
+;realpath_cache_force = 0
+
; Enables or disables the circular reference collector.
; http://php.net/zend.enable-gc
zend.enable_gc = On
diff -urNp php-7.1.0.org/php.ini-production php-7.1.0/php.ini-production
--- php-7.1.0.org/php.ini-production 2016-12-09 17:22:39.523475809 +0900
+++ php-7.1.0/php.ini-production 2016-12-09 17:28:34.305411082 +0900
@@ -351,6 +351,12 @@ disable_classes =
; http://php.net/realpath-cache-ttl
;realpath_cache_ttl = 120
+; If set on safe_mode or open_basedir, realpth_cache is disable. Set 1 this
+; directive, realpath_cache is enable with realpath_cache_size and realpath_cache_ttl
+; although safe_mode or open_basedir set enable. If you want to enable this variable,
+; We recommand that symlink function is set to disable_functions
+;realpath_cache_force = 0
+
; Enables or disables the circular reference collector.
; http://php.net/zend.enable-gc
zend.enable_gc = On
Comments List
진짜.... 1년넘게 중지 되는거 아니지요???
ㅎㅎ 1년 쉬고 싶었나 봐요. 그럴 때도 되지 않았나