PHP 7.2, 7.4 버전에서 멀쩡하던게 8.1, 8.2 버전에서 오류가 발생하네요~

 

AH01071: Got error 'PHP message: PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /home/example/www/_wp_/wp-includes/script-loader.php on line 757'

AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function get_magic_quotes_gpc() in /home/example/www/_wp_/wp-includes/load.php:926

 

/wp-includes/script-loader.php
        foreach ( $tinymce_settings as $key => $value ) {
                if ( is_bool( $value ) ) {
                        $val       = $value ? 'true' : 'false';
                        $init_obj .= $key . ':' . $val . ',';
                        continue;
                } elseif ( ! empty( $value ) && is_string( $value ) && (
                        ( '{' == $value{0} && '}' == $value{strlen( $value ) - 1} ) ||
                        ( '[' == $value{0} && ']' == $value{strlen( $value ) - 1} ) ||
                        preg_match( '/^\(?function ?\(/', $value ) ) ) {
                        $init_obj .= $key . ':' . $value . ',';
                        continue;
                }
                $init_obj .= $key . ':"' . $value . '",';
        }

위에서 {} 중괄호 이부분을 [] 대괄호로 변경합니다.

                        ( '{' == $value[0] && '}' == $value[strlen( $value ) - 1] ) ||
                        ( '[' == $value[0] && ']' == $value[strlen( $value ) - 1] ) ||

그리고 이번엔 get_magic_quotes_gpc 에러인데 8.0 버전 부터 이 함수가 없어졌다는군요 ㅋ

/wp-includes/load.php
/wp-includes/formatting.php
        if ( get_magic_quotes_gpc() ) {
        }
=>
        if ( function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc() ) {
        }

Warning 부분은 제외 하고 일단 3개의 파일을 수정하니 작동을 합니다.

 

그래도 워드프레스는 당분간 PHP 7.x 버전을 사용하는게 좋아보입니다.

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

리눅스는 버전이 바뀔때 마다 PHP Multiple 패키지 설치할때 마다 오류 때문에 문제군요~

 

웹브라우저 화면에는 "File not found." 가 뜨고 아파치 에러 로그엔 아래 처럼 로그가 나옵니다.

 

[proxy_fcgi:error] [pid 27067] [client XXX.XXX.XXX.XXX:63340] AH01071: Got error 'Primary script unknown'

 

아파치 설정에서 ProxyPassMatch 를 사용했더니 위와 같은 에러가 발생하네요~

 

    #ProxyPassMatch ^/(.*\.(php|htm|html)(/.*)?)$ fcgi://127.0.0.1:9082/home/example/www/$1

위의 방식을 아래 처럼 하니 괜찮아지는군요~

    <IfModule mod_proxy_fcgi.c>
        <FilesMatch \.(php|htm|html)$>
            SetHandler "proxy:fcgi://127.0.0.1:9000/"
        </FilesMatch>
    </IfModule>

아파치 설정후 systemctl restart httpd 로 재확인합니다.

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

오라클 클라우드에서 VM 무료 용량이 얼마인지 명확하게 명시해놓은곳이 없어서 직접 최대치로 한번 생성해봤습니다.

현재 날짜 기준입니다.

VM 은 최대 2개까지인데 VM 1개의 부트 볼륨 최대 용량은 200GB 입니다.

오라클 클라우드 VM 부트 볼륨 무료 최대 용량

CentOS 7.9 기준 부트볼륨 확장 방법은 https://ivps.tistory.com/806 여기를 참고하세요~

 

그리고 블록스토리지 무료 최대 용량입니다.

오라클 클라우드 블록스토리지 무료 최대 용량

이것도 2개까지인데 하나당 100GB까지가 무료 최대 용량인것 같습니다.

CPU랑 RAM만 좀 받쳐주면 좋을텐데요~ 현재는 4코어 24램을 생성하기가 어려우니 아쉽습니다.

 

생성 단계에서 명확하게 설명이 있으면 좋을텐데 만들고 나서야 무료인지 알수 있으니 이 부분은 좀 안습이네요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

오라클 클라우드 VM 에서 OS를 CentOS 7.9로 부트 볼륨을 무료 최대 용량인 200GB 로 설정하고 만들었습니다.

그런데 확인해보면 200G까지 확인이 되어있지 않고 디폴트 용량인 50GB 로 셋팅되어 있네요~

VM 을 생성할때 실제 OS설치가 아닌 이미지 복제 방식이라서 그런가봅니다.

[root@itrooms ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        459M     0  459M   0% /dev
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           493M  6.8M  487M   2% /run
tmpfs           493M     0  493M   0% /sys/fs/cgroup
/dev/sda3        39G  2.3G   36G   6% /
/dev/sda1       512M   12M  501M   3% /boot/efi
tmpfs            99M     0   99M   0% /run/user/994
tmpfs            99M     0   99M   0% /run/user/1000
[root@itrooms ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk
├─sda1   8:1    0  512M  0 part /boot/efi
├─sda2   8:2    0    8G  0 part [SWAP]
└─sda3   8:3    0 38.1G  0 part /

이제 확장을 시도합니다.

[root@ivps ~]# growpart /dev/sda 3
no tools available to resize disk with 'gpt'
FAILED: failed to get a resizer for id ''

growpart 명령어는 먹히는데 resize 에러가 나는군요~

no tools available to resize disk with 'gpt'
FAILED: failed to get a resizer for id ''

구글링해서 gdisk 를 설치해줍니다.

[root@ivps ~]# yum install gdisk
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
 * epel: mirror-jp.misakamikoto.network
 * extras: mirror.kakao.com
 * updates: mirror.kakao.com
Resolving Dependencies
--> Running transaction check
---> Package gdisk.x86_64 0:0.8.10-3.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch             Version                  Repository      Size
================================================================================
Installing:
 gdisk           x86_64           0.8.10-3.el7             base           190 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 190 k
Installed size: 660 k
Is this ok [y/d/N]: y
Downloading packages:
gdisk-0.8.10-3.el7.x86_64.rpm                              | 190 kB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : gdisk-0.8.10-3.el7.x86_64                                    1/1
  Verifying  : gdisk-0.8.10-3.el7.x86_64                                    1/1

Installed:
  gdisk.x86_64 0:0.8.10-3.el7

Complete!

growpart 명령어로 파티션 할당 영역을 확장합니다.

[root@ivps ~]# growpart /dev/sda 3
CHANGED: partition=3 start=17827840 old: size=79847424 end=97675264 new: size=401602526 end=419430366
[root@ivps ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   200G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0     8G  0 part [SWAP]
└─sda3   8:3    0 191.5G  0 part /

용량이 제대로 확장이 되었는지 확인합니다.

[root@ivps ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        459M     0  459M   0% /dev
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           493M  6.8M  487M   2% /run
tmpfs           493M     0  493M   0% /sys/fs/cgroup
/dev/sda3        39G  2.4G   36G   7% /
/dev/sda1       512M   12M  501M   3% /boot/efi
tmpfs            99M     0   99M   0% /run/user/994
tmpfs            99M     0   99M   0% /run/user/1000

파티션은 확장되었지만 파일시스템은 아직 완전히 확장이 안된것 같습니다.

파일시스템도 확장해줍니다.

[root@ivps ~]# xfs_growfs /
meta-data=/dev/sda3              isize=512    agcount=4, agsize=2495232 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=9980928, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=4873, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 9980928 to 50200315
[root@ivps ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        459M     0  459M   0% /dev
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           493M  6.8M  487M   2% /run
tmpfs           493M     0  493M   0% /sys/fs/cgroup
/dev/sda3       192G  2.4G  190G   2% /
/dev/sda1       512M   12M  501M   3% /boot/efi
tmpfs            99M     0   99M   0% /run/user/994
tmpfs            99M     0   99M   0% /run/user/1000

이제 제대로된 용량으로 나오는군요~

인터넷을 검색해봐도 제가 원하는 명확한 내용이 없네요~

한참을 삽집해서 성공하니 기쁘네요~

 

위에 설명을 간단하게 세줄로 요약정리 하자면 아래와 같습니다.

# yum -y install gdisk
# growpart /dev/sda 3
# xfs_growfs /

세줄의 명령어로 부트볼륨을 확장할 수 있습니다.

이 방법을 모르면 최대 무료 볼륨을 200GB까지 설정해도 무용지물이네요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

클라우드 마다 UI 메뉴가 달라서 해당 기능을 찾는데 한참 헤메는군요~

Instance information 에 subnet 을 눌러서 들어가면 Ingress Rules 이 있습니다.

여기서 웹서비스 Port 80 을 설정해주는 됩니다.

 

디폴트로 SSH 22 포트만 적용되어 있는데 80 포트와 443 포트도 추가하여줍니다.

오라클 클라우드 80포트 열어주기

처음엔 방화벽 설정이 문제인지 뭐가 잘못됐는지 안되더군요~

단순히 공인 아이피에서 로컬 IP로 포워딩해 준다고 생각하시면 되겠네요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

httpd 를 한번도 실행해 주지 않은 상태에서 apachetl configtest 했더니 아래와 같은 오류 메시지가 나오더군요~

 

[root@ivps ~]# apachectl configtest
AH00526: Syntax error on line 85 of /etc/httpd/conf.d/ssl.conf:
SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty
[root@ivps ~]# vi /etc/httpd/conf.d/ssl.conf

 

[root@ivps ~]# ls -l /etc/pki/tls/certs/localhost.crt
ls: cannot access '/etc/pki/tls/certs/localhost.crt': No such file or directory


[root@ivps ~]# systemctl restart httpd
[root@ivps ~]# apachectl configtest
Syntax OK
[root@ivps ~]# ls -l /etc/pki/tls/certs/localhost.crt
-rw-r--r--. 1 root root 3720 Jan  9 05:06 /etc/pki/tls/certs/localhost.crt

 

httpd 를 한번 실행해주면 되네요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

오라클 클라우드에 CentOS 8 stream 버전을 설치하고 yum 명령어를 사용하니 아래와 같은 에러 메시지가 표시되네요~

패키지 설치해주는 yum 명령어가 8버전 부터는 dnf 로 바뀌었나봅니다.

좀더 확실하게 관리를 해준다고 하네요.

 

[root@ivps ~]# dnf clean all
Failed loading plugin "osmsplugin": No module named 'librepo'
58 files removed
[root@ivps ~]# dnf install python3-librepo -y
Failed loading plugin "osmsplugin": No module named 'librepo'
CentOS Stream 8 - AppStream                      16 MB/s |  27 MB     00:01
CentOS Stream 8 - BaseOS                         15 MB/s |  26 MB     00:01
CentOS Stream 8 - Extras                        290  B/s |  18 kB     01:02
CentOS Stream 8 - Extras common packages         80  B/s | 5.2 kB     01:05
Extra Packages for Enterprise Linux 8 - x86_64  572 kB/s |  13 MB     00:23
Extra Packages for Enterprise Linux 8 - Next -  160 kB/s | 179 kB     00:01
Dependencies resolved.
================================================================================
 Package                Architecture  Version               Repository     Size
================================================================================
Installing:
 python3-librepo        x86_64        1.14.2-4.el8          baseos         54 k
Upgrading:
 librepo                x86_64        1.14.2-4.el8          baseos         93 k

Transaction Summary
================================================================================
Install  1 Package
Upgrade  1 Package

Total download size: 147 k
Downloading Packages:
(1/2): python3-librepo-1.14.2-4.el8.x86_64.rpm  2.2 MB/s |  54 kB     00:00
(2/2): librepo-1.14.2-4.el8.x86_64.rpm          3.5 MB/s |  93 kB     00:00
--------------------------------------------------------------------------------
Total                                           399 kB/s | 147 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Upgrading        : librepo-1.14.2-4.el8.x86_64                            1/3
  Installing       : python3-librepo-1.14.2-4.el8.x86_64                    2/3
  Cleanup          : librepo-1.14.2-3.el8.x86_64                            3/3
  Running scriptlet: librepo-1.14.2-3.el8.x86_64                            3/3
  Verifying        : python3-librepo-1.14.2-4.el8.x86_64                    1/3
  Verifying        : librepo-1.14.2-4.el8.x86_64                            2/3
  Verifying        : librepo-1.14.2-3.el8.x86_64                            3/3

Upgraded:
  librepo-1.14.2-4.el8.x86_64
Installed:
  python3-librepo-1.14.2-4.el8.x86_64

Complete!
[root@ivps ~]# dnf clean all
49 files removed

 

버전이 바뀔때 마다 적응을 해야하는군요~

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

후발 주자인 오라클도 무료 클라우드를 서비스 하길래 무료로 VM을 생성해봤습니다.

아무 생각 없이 디폴트 값(Generate a key pair for me)인 SSH Key 가 있어야 로그인이 되게 만들어버렸네요~

 

한번 만들고나면 바꾸는 옵션이 없는것 같습니다.

일단 서버에 접속해서 /etc/ssh/sshd_config 파일에서 고쳐야 합니다.

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no

위 파일에서 "PasswordAuthentication yes"로 바꾸고 systemctl restart sshd 하시면 됩니다.

Add SSH keys

Save private key 를 눌러서 다운로드 받은 개인키가 없다면 새로 만드시고 있다면 아래 처럼 하면 됩니다.

Putty 0.78 최신 버전(https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.78-installer.msi)을 받아서 진행했습니다.

PuttyGen 을 실행하고 Load an existing private key file "Load" 를 눌러줍니다.

키가 로드되고 난 뒤에 Save private key 를 눌러서 저장합니다.

https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/accessinginstance.htm

오라클에서 알려주는 방법으로 따라 하시면 됩니다.

위와 같이 하신다음에 Open 을 누르고 login 을 하시면 됩니다.

초기 접속 아이디는 vm 을 만들고 나면 Instance information 에 access 정보가 있습니다.

Connection -> Data 에 login username 을 입력하고 Session 메뉴에서 저장을 해놓으면 매번 로그인 할때마다 key 를 선택하지 않아도 됩니다.

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

리눅스(CentOS 기준)에서 시놀로지 나스로 백업 같은 쉘스크립트를 편하게 실행하기 위해서는 비번 입력 없이 접속이 가능해야합니다.

 

먼저 리눅스에서 아래 ssh-keygen 으로 RSA 암호키를 먼저 만듭니다.

 

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

 

ssh-copy-id -p포트번호 나스어드민ID@192.168.1.2
첫 접속시 비밀번호를 한번 입력하면 위에서 만든 key가 나스 서버로 복사가 됩니다.

 

이제 나스 서버로 접속해봅니다.
ssh 나스어드민ID@192.168.1.2 -p포트번호

 

sudo -i 명령으로 root 계정으로 권한을 넘겨받을때 비번을 묻는데 이것도 안묻게 하려면 아래 처럼 명령어를 실행합니다.
echo "$USER ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

이제 다시 테스트 해보면 됩니다.

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요

실제 물리 하드디스크를 VirtualBox에서 사용하려면 실제 디스크를 vmdk 로 연결해 주어야 합니다.

 

VirtualBox 실제 하드 사용

1. cmd 창을 관리자 권한으로 실행을 합니다.

2. diskpart 명령어로 몇번째 디스크인지 확인을 합니다.

3. C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands createrawvmdk -filename C:\hdd2.vmdk -rawdisk \\.\PhysicalDrive2 (뒤에 숫자가 디스크 번호)

아래 방식이 더 편하네요~
"%programfiles%\Oracle\VirtualBox\VBoxManage" internalcommands createrawvmdk -filename "C:\hdd2.vmdk" -rawdisk \\.\PhysicalDrive2

vmdk 파일을 만들었으면 이제 VirtualBox에서 연결을 하면됩니다.

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요