posted by 검신흑태자 2026. 6. 30. 00:02

빙글빙글, 빙글빙글, 빙글빙글

 

안녕하세요. 오랜만에 책에 대해 포스팅을 하네요. 그동안 블로그에 업로드도 거의 안 하고 뭘 그리 바쁘게 산다고 책도 한 권을 가지고 거의 일 년 내내 들고 다니면서 보다가 이제야 한 권을 다 보게 되어서 리뷰를 올리게 되네요. 앞으로는 더 자주 포스팅도 하고 책도 읽으면서 시간을 더 알차게 보내도록 노력해 봐야겠습니다.

 

이번에 리뷰할 책은 릴리 프랭키 작가가 지은 ‘도쿄타워’ 입니다. 사실 이 책은 별로 관심은 없었는데, 넷플릭스에서 예전에 영화를 고르던 중 오다기리 조 배우가 나오는 영화 버전을 보고(이때는 책이 있는지 몰랐습니다.^^:;) 영화가 너무 괜찮아서 이리저리 영화에 대해 검색을 하고 자료를 찾아보다가 원작이 소설이라는 걸 알게 되어 그날로 구입하고 묵혀두다가 마지막으로 읽었던 ‘코딩으로 세상을 바꿀 수 있다면’ 책 이후에 읽을거리를 찾다가 눈에 띄어서 ‘아 한번 읽어봐야지’ 하고 꺼내 들었던 책을 2025년 4월부터 약 1년 2개월 가까이 가지고 다니고 집에서 아주 조금씩 읽으며 겨우겨우 완독 할 수 있었네요. 앞으로는 책을 한 권만 선택하는 게 아니라 병렬 독서라는 걸 한번 해봐야겠습니다.

 

아무튼 각설하고 이 ‘도쿄타워’의 경우 어머니와 아들에 대한 이야기입니다. 이미 드라마도 있다고 하고 영화도 있어서 아시는 분이 많을지도 모르겠네요. 일본에서는 영화도 흥행했다고 하는데 저는 한국에서는 영화관에서는 못 보고 OTT에서 찾아본 케이스입니다. 영화가 책의 내용을 많이 담고 있기는 하지만 꽤 함축적인 장면들이 많다는 걸 책을 읽고 나서 알게 되었네요. 소설의 카테고리를 가지고 있지만 마지막에 옮긴이의 말을 보니 작가 자신의 자전적인 이야기라는 걸 알게되었네요. 그래서인지 다 읽고 난 다음에 그토록 묘사나 상황설명이 리얼했구나 하는 걸 다시 느낄 수 있었네요.

 

기본적으로 책은 주인공인 ‘마사야’가 성장하는 이야기를 하고 있지만 항상 그 옆에는 그를 사랑하는 어머니(소설 내에서는 자주 ‘엄니’라고 표현됩니다)의 존재에 대한 이야기가 이 소설을 이끌어가는 핵심 내용입니다. 주인공이 어릴 때 외가에서 살던 때부터 성인이 될 때까지의 인간관계나 여러 상황들에 대해 초점을 맞추고 있으나 그 옆에는 늘 한결같은 내리사랑으로 그를 지탱해 주는 어머니의 존재와 그 어머니의 이야기를 아들의 관점에서 그리고 그 아들이 성장해 가면서 그 관점이 서서히 변하는 모습을 아주 잘 표현하고 있습니다.

 

어릴 때에는 그저 어려서 몰랐던 것들이 성인이 되어서도 한동안은 자신만을 생각하느라 철없이 굴면서 어머니 마음을 아프게 한 것을 더 어른이 되었을 때 후회한다던가 하는 대부분의 사람이 겪을 만한 감정들을 세세히 묘사하고 있고 이 묘사가 또 좋은 문장으로 나온 경우가 많아서 마치 본인의 이야기인 것처럼 느껴지게 만듭니다.

 

그리고 주인공이 성인이 되어 도쿄에 어머니를 모시고 와서 같이 살게 되는 이야기가 소설의 후반부를 채우고 있고 어머니가 암에 걸린 시점부터의 여러 가지 모습과 상황, 주인공이 느끼는 감정과 행동들이 이 책의 마무리를 도와줍니다. 또한 어머니 사후에도 조금 더 이야기가 이어지는 데 이때의 주인공의 회한 같은 것들이 나오는데 이런 마무리 또한 저는 너무 좋았습니다.

 

실제로 이 책은 작가 본인이 겪은 이야기를 글로 엮어냈지만 어머니에 대한 편지 같은 형태로 남기고 싶었던 것인지 소설의 형태를 취하고 있습니다. 개인적으로는 본인의 바람을 어느 정도 소설에 녹여 냈는지도 모르겠네요. 이 책이 더 인상깊고 읽는데 오래 걸렸던 것은 제 자신의 모습과 주인공의 모습이 어느정도 닮아있어서 더 그랬는지도 모르겠네요. 다행히 어머니는 건강하시지만요 :)

 

어느 정도 동질감 같은 것을 느끼며 읽었기에 그리고 소설의 내용이 좋았던 것도 있어서 읽기에 오래걸린 건 대개는 제 게으름이나 책을 읽을 시간을 내지 않아서 였지만 이 책을 한번에 다 읽어서 끝내기는 아깝다라는 생각도 어느정도 있었던 것 같습니다. 작중 주인공의 나이대가 제 나이대랑 비슷할 때를 보면 어떻게든 나아지려고 노력은 하는데 잘 안 되는 그런 묘사들을 보다 보면 정말로 자신의 이야기인 것 같은 착각이 들어 반성도 많이 하고 마음을 다시 먹기도 많이 했습니다.

 

결말이 정해진 슬픈 이야기이긴 하지만 그래도 저는 이 책을 읽으면서 어머니께 사랑한다는 표현도 많이 하게 되고 더 잘할 수 있도록 마음을 가질 수 있는 계기가 되어준 소중한 책 중에 한 권이었네요. 한동안은 소설을 읽지 않았는데 이런 즐거움과 서글픔 등을 느낄 수 있어서 소설은 역시 읽어볼 만하지 않나 싶습니다. 개인적으로는 많은 분들께 추천을 드리고 싶은 책이었네요. 시간이 나실 때 한번 읽어보시는 것도 좋을 것 같습니다. 그리고 다음에는 조금 가벼운 내용의 책을 고르기를 바라고 있긴 합니다.(사실 다음에 읽을 책은 제 직업과 관련된 책인지라, 같이 읽을 소설도 하나 고르고 있습니다)

 

이 세상에 사랑이 많아도 아이를 귀애하는 사랑보다 더한 사랑은 없으니 -p147

 

그럼 다음에 또 포스팅하도록 하겠습니다~! 좋은 하루 보내세요!

' > 소설' 카테고리의 다른 글

풀꽃들의 조용한 맹세  (0) 2023.01.31
언어의 정원  (0) 2023.01.30
posted by 검신흑태자 2025. 4. 15. 12:59

DB 관리툴은 윈도우나 Ubuntu 상관없이 다른 걸 쓰시는 분들이 많겠지만 저는 윈도우에서도 phpMyAdmin을 사용하고 있기에 Ubuntu에서도 동일하게 phpMyAdmin을 사용하기 위해 설치했습니다. 설치 방법의 경우 윈도우와는 다르게 더 간단합니다.

 

1. #apt update로 설치된 패키지를 업데이트 해줍니다

2. #apt install phpmyadmin으로 설치를 진행합니다.

3. 설치를 진행하다 보면 서버 설정창이 나오는데 기본이 아파치로 되어있을 겁니다. 아파치를 쓰시는 분들은 그대로 설치하시면 되고 저처럼 Nginx나 다른 서버를 사용하시는 분들은 Tap키를 눌러 아무것도 설치하지 않은 채로 OK로 넘어가 엔터를 누르시고 설치하시면 됩니다. 이 부분을 그냥 막 넘기면 다른 서버를 쓰게 되면 아파치와 설정이 꼬여서 다시 설치해야 하는 상황이 발생하게 되니 이 부분만 신경 써서 봐주시면 됩니다.

4. 윈도우에서 처럼 심볼릭 링크를 생성하는데 폴더 이름은 원하시는대로 하셔도 됩니다. 

#ln -s /usr/share/phpmyadmin(설치된 경로) /var/www/html/phpmyadmin(원하는 폴더 경로)

5. 심볼릭 링크를 생성할 때 해커들이 phpmyadmin 주소를 가지고 공격을 많이 한다고 하니 nginx의 루트 경로에 폴더 이름을 바꿔주시는 게 좋다고 합니다. 위의 명령어와 폴더는 기본적으로 nginx 하위 폴더를 다른 걸로 변경하지 않았을 때의 예시입니다.

6. nginx stites-available의 conf 파일을 열어 index.php를 index 부분에 추가합니다. 이 부분은 php-fpm 설정을 하실 때 진행하셨으면 안 하셔도 무방합니다.

7. #service nginx restart 명령어로 Nginx를 재시작합니다.

8. 아이피(도메인)/phpmyadmin으로 접속하여 본인이 MySQL 설치 시 등록한 root와 패스워드로 접속되는지 확인합니다.

 

윈도우에서는 PHP 버전에 따라서 phpMyAdmin이 동작하지 않는 일이 더러 있었기에 고생을 했는데 리눅스나 맥 OS(정확하게는 맥 OS는 테스트를 안해봐서 확실하지는 않습니다.)는 패키지 설치형태로 진행을 하기에 설치가 간단합니다. 이전에 윈도우에서 PHP 8.4에서 phpMyAdmin이 작동하지 않아 Ubuntu에서 8.4 설치 후 동일한 형태로 phpMyAdmin을 설치했을 때 문제없이 작동했기 때문에 이대로 설치하시면 Ubuntu에서도 phpMyAdmin이 잘 실행될 겁니다.^^

posted by 검신흑태자 2025. 4. 13. 22:42

PHP와 Nginx도 연동을 다 했으면 DB를 설치할 차례입니다만 여러 가지 DB가 있지만 저는 Maria DB(MySQL)를 사용하고 있기 때문에 이 DB를 기준으로 설치 방법을 설명합니다.

 

1) PHP와 Nginx처럼 최신 버전 설치를 위한 저장소를 아래의 명령어로 추가해 줍니다.

#curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=11.0

 1-1) 제 경우 2025년 1월 18일 기준으로 최신 버전이 11.6 이었는데 버전이 올라간 경우 맨 뒤에 11.0을 12.0으로 바꿔주셔도 됩니다.

2) 저장소를 추가하셨으면 #apt update를 통해 패키지 업데이트를 실행합니다.

3) #apt -y install mariadb-server mariadb-client 명령어를 통해 DB Server와 Client를 설치해 줍니다. 이전 포스팅에 #apt 다음에 -y 가 없는 경우가 있었을 텐데 없이 설치를 진행해도 중간중간 나오는 물음에 y를 눌러도 동일한 결과가 되니 편하신 대로 쓰시면 됩니다.

4) 초기 권한 및 보안 설정에서 #mariadb-secure-installation 명령어로 보안 쪽 설정에 들어갑니다.

5) 보안 관련 내용들을 Y를 이용해서 설정해주고(주로 root 외부접속 금지 등이 있습니다.) root 비밀번호를 설정합니다.

6) mariadb -u root -p 로 패스워드 입력 후 접속 가능 여부를 확인합니다.

7) 버전확인은 mariadb에 로그인 후 select version(); 을 이용해 확인하거나 mariadb에 로그인하지 않아도 초기 화면에 suto -i su를 입력해 루트 권한을 받고 mariadb -v 명령어를 입력하면 mariadb에 접속되는데 이때 select version();을 입력하시면 됩니다.

 

저장소 추가를 제외하면 원래는 최신버전 ubuntu에 있는 패키지들이 최신 버전의 프로그램들을 대응하기 때문에 윈도우보다 설치가 간단하지만 - #apt install 프로그램 이름으로 설치 가능합니다 - 서버 업체에서 안정성 등의 이슈로 인해 완전 최신의 버전을 지원하지 않는 경우가 많기 때문에 그냥 보기에는 윈도우보다 복잡할 수 있겠네요. 그래도 CLI 환경에 조금 익숙해지면 편해지실 거라고 생각합니다. 

 

MariaDB(MySQL)도 마찬가지로 여러 설정등을 조정할 수 있지만 이것도 다른 포스팅에 올릴 수 있을 때 올려보도록 하겠습니다.^^

posted by 검신흑태자 2025. 4. 12. 23:00

Ubuntu에서 Nginx를 설치했으면 PHP를 설치할 차례입니다. 사실 PHP를 먼저 설치해도 상관은 없지만 제 경우 PHP를 먼저 설치하고 Nginx를 설치했을 때 오류가 난 경우 Nginx의 문제인지 PHP의 문제인지를 확인하는데 시간이 조금 걸려서 Nginx를 먼저 설치하고 PHP를 설치하는 방향으로 하고 있습니다.

 

이 포스팅에서 설치할 PHP 버전은 8.3인데 제가 설치를 할 무렵에는 이게 최신 버전이었던 걸로 기억하고 있고 지금 로컬에서 사용하는 버전이 윈도우+PHP 8.3이라 아마 이렇게 설치를 하지 않았나 싶습니다. 최신 버전을 설치하고 싶으신 분들은 8.3으로 되어있는 걸 8.4로 변경해 주시면 될 겁니다.

 

PHP 설치의 경우 Ubuntu 22.04 LTS 버전에서 내장되어 있는 패키지 버전이 7.x 버전이었기 때문에 바로 설치하지 않고 PHP 저장소를 추가해서 8.3 버전을 설치하는 방향으로 진행했습니다.

 

1. PHP 저장소를 # add-apt-repository ppa:ondrej/php 명령어로 추가합니다.

2. 우분투 패키지를 #apt update 명령어로 업데이트 합니다.

3. 확장 모듈과 함께 PHP를 설치합니다.

#apt install php8.3 php8.3-gd php8.3-cli php8.3-common php8.3-mysql php8.3-fpm php8.3-curl php8.3-json php8.3-opcache php8.3-mbstring php8.3-xml

4. 설치가 되면 php -v를 통해 버전을 확인합니다.

5. 설치가 완료된 다음에는 Nginx와 PHP-FPM 연동을 설정합니다. 저 같은 경우 Nginx 설치에서 말씀드렸다시피 sites-available의 설정과 nginx conf.d의 설정이 서로 제각각이라 어디에서 정확히 적용되는지 확인하고 수정하느라 시간이 걸렸습니다. 그래서 두 폴더에 있는 파일을 백업시켜 놓고 두 폴더에 있는 conf의 설정을 맞추고 conf를 수정합니다. 아래는 예시입니다.

# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;
		# 아래는 실행될 파일의 기본 폴더 경로입니다.
        root /var/www/html;

        # Add index.php to the list if you are using PHP
        # index.php를 추가해줍니다.
        index index.html index.htm index.nginx-debian.html index.php;

        server_name ip 혹은 도메인;

        charset uft-8;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        # pass PHP scripts to FastCGI server
        #
        location ~ \.(php|html|htm)$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php8.3-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }

        # deny access to .htaccess files, if Apache's document root

6. 설정을 모두 추가하고 디렉토리에도 이상이 없는데 index.php 파일 등을 추가했을 때(일반적으로 phpinfo()를 많이 씁니다.) 페이지가 로드되지 않을 경우 유저 권한 문제일 가능성이 많기에 /etc/php/버전명/fpm/fool.d 폴더 안에 있는 www.conf의 파일을 열고 user와 group을 www-data(nginx의 기본유저)로 변경처리 해줍니다. 

7. 페이지 로드가 되지 않는 경우 대부분은 권한 문제이기 때문에 위와 같이 처리해 주면 대부분의 문제는 해결이 되지만 다른 문제가 생기면 문제와 함께 해결법을 찾아서 추후에 추가할 수 있도록 하겠습니다.

8. 권한 문제까지 해결이 되었으면 본인의 ip주소/index.php로 접속해 보면 작성하신 코드가 뜰 겁니다.

9. index.html이 없을 경우 그냥 ip주소만 입력해도 index.php 파일의 내용이 뜹니다.

 

위의 작업까지 하시면 데이터베이스를 추가하는 것 외에는 기본 PHP 설정과 Nginx연동이 끝난 셈입니다. PHP도 그렇고 Nginx도 그렇고 많은 설정들과 심화된 내용이 있지만 거기까지 다루기에는 내용도 너무 많고 해서 일단은 간단히 바로 코드를 짜서 적용시킬 수 있는 설치법들만 작성했습니다. 이후 심화된 설정이나 내용들은 언제가 될지는 모르겠지만 다른 포스팅을 통해 작성해 볼 수 있도록 하겠습니다.

 

 

posted by 검신흑태자 2025. 4. 11. 14:33

Linux Ubuntu 기본 설정을 마치신 경우 이제 서버를 선택해서 설치해야 하는데 서버의 경우 아파치나 Nginx를 많이 쓰시지만 저는 이전 윈도우에서도 이야기했듯이 Nginx를 쓰기 때문에 Ngnix를 설치하는 방법을 설명합니다.

 

윈도우와 비교해서 조금 복잡한 건 기본적으로 22.04 버전에 설치되어 있는 버전보다 상위버전을 설치하기 때문입니다. 그냥 가볍게 최신버전이 아닌 버전을 apt install nginx로 설치하셔도 무방하지만 이전 버전은 보안의 문제라던가 최신 이슈들의 해결이 반영되지 않을 수 있으니 웬만하면 최신 버전을 설치하시는 게 좋습니다.

 

기본적으로 Nginx의 버전은 빠르게 올라가기 때문에 공식 저장소를 추가하는 것부터 시작합니다.

 

1. 아래의 명령어들을 차례대로 실행합니다.

# curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
# gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
# echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

 

2. 공식 저장소 추가 후 #apt update로 패키지 목록을 업데이트 해 줍니다.

3. #apt info nginx로 패키지 설치 버전에 대해 확인을 합니다. 웹사이트와 비교해서 최신버전이면 맞는 겁니다.

4. #apt install nginx로 nginx를 설치합니다

5. 설치가 완료되면 #service nginx start로 서비스 시작 후 #service nginx status로 nginx의 상태를 확인합니다.

6. 설치와 서비스 시작이 완료되어 이상이 없으면 연결해둔 IP나 도메인으로 접속하여 Nignx Welcome 페이지가 나오는지 확인합니다.

7. 기본적으로 로딩되는 파일경로는 /var/www/html/ 이지만 conf.d 폴더에 있는 설정 파일(nginx.conf)을 통해 변경이 가능합니다.

8. 제 경우 최신버전의 문제였는지 설치과정에 문제가 있었던 것인지 site-available 폴더와 conf.d 폴더에서 지정하는 기본 폴더가 달라서 어디에서 로딩이 되는지 index.html을 내용별로 적어서 로드되는 경로를 확인한 후에 수정을 했으니 만약 파일을 넣고 페이지에 로드가 안되시면 이렇게 한번 해보시면 될 것 같습니다.

 

일단 이렇게 되면 기본적인 Nginx 설치는 완료입니다. 보안적인 부분이나 여러 가지가 있는데 이 부분은 조금 더 나중에 제 쪽에서도 여러 가지로 적용을 해보고 포스팅할 수 있도록 하겠습니다.

posted by 검신흑태자 2025. 4. 10. 21:08

저는 테스트 서버와 실제 상용서버를 모두 NHN 클라우드에서 서버를 생성하고 세팅해서 사용하는데, 많은 분들이 AWS나 Google, Oracle 등을 쓰시지만 제가 나중에 다시 볼 때 필요할 것 같기도 하고, 저처럼 NHN을 쓰실 분들도 있을 것 같아서 홈페이지 자체에 정리가 잘 되어있긴 하지만 제 나름대로 간결하게 정리해서 한번 포스팅을 합니다. 나중에 Oracle이나 Google, AWS는 개인용 무료 서버를 사용하기 위해 한번 써볼 예정인데 쓰게 되면 그때 다시 다른 업체의 서버들에 대해서도 포스팅할 수 있도록 하겠습니다.

 

NHN 클라우드 서버 설정은 다른 회사들과 비슷하게 간단하게 생성 및 접속이 가능합니다.

 

1. 인스턴스 생성

 1) 인스턴스 생성 시 원하는 사양과 OS를 선택하고 가용성 영역을 선택합니다.(임의의 영역으로 하셔도 괜찮습니다.)

 2) 사용할 키페어를 선택합니다. 키페어가 없을 경우 키페어를 만드시고 잘 저장해두셔야 합니다(재발급이 안됩니다.)

 3) 네트워크 서비스와 플로팅 IP, 보안그룹을 선택합니다. 이것도 없을 경우 서비스 신청을 하시면 됩니다.

 4) 위 절차가 끝나면 생성 버튼을 눌러서 생성하시면 됩니다.

 

2. 인스턴스 기본 설정

 1) 보안그룹 설정(Network->Security Groups)에서 개발 및 배포에 필요한 포트 들을 열어줍니다.

 2) 22(SSH), 80(HTTP), 3306(MySQL) 등은 기본적으로 열어두시는게 좋습니다. 

 

3. 리눅스 서버 접속

 1) 맥 OS / 리눅스와 윈도우 OS의 접속방법이 다른데 맥 OS / 리눅스의 경우 키페어를 저장하고 터미널을 이용하여 간단하게 접속이 가능합니다.

 1-1) $ ssh -i my_private_key.pem ubuntu@<인스턴스의 IP> 이런 식의 명령어로 접속 가능합니다.

 2) 윈도우의 경우 pem 파일 사용이 불가한 관계로 putty라는 프로그램을 다운로드하여야 합니다.

 3) putty 프로그램을 다운받고 설치하면 같이 설치되는 puttygen을 실행합니다.

 4) Conversions(한글판에는 변환이라고 되어있는 것 같습니다.) 항목에서 키를 import key(키 삽입?으로 되어있을 겁니다)를 선택하여 다운로드한 키를 불러오신 다음에(공식 문서에는 불러오기(Load)를 이용하라고 되어있는데 제 경우 pem 파일이 불러와지지 않아서 이렇게 했습니다.) 개인용 PPK 키로 변환합니다.(변환(Generate))

 4-1) 변환하시기 전에 맨 아래 메뉴에 RSA를 포함한 키 형식을 선택하는데 RSA 2048로 해주시면 됩니다

 5) putty를 실행시키고 auth(인증) 항목에서 변환한 ppk 파일을 등록하신 후에 Host Name에 ubuntu@아이피주소(연결한 플로팅 IP 주소)를 입력해서 접속합니다. 첫 접속 시 key access 여부를 물어보는데 accept를 눌러주시면 됩니다.

 

4. Ubuntu 접속 후 처음 할 일

 1) sudo -i su 명령어를 통해 root 권한을 얻고 작업을 진행합니다(이게 작업하기가 좀 수월합니다)

 2) apt-get update 로 설치 가능한 패키지를 업데이트합니다.

 3) apt-get upgrade로 설치되어있는 패키지를 업그레이드합니다.

 4) 위 두 명령어는 늘 따라다니는 명령어라고 생각하시면 되며 어떤 것을 설치하든지 한 번씩은 입력해서 업데이트와 업그레이드를 진행해 주시면 좋습니다.

 5) 기타 보안이나 관련 설정은 나중에 따로 업로드하겠습니다.

 

아무래도 맥 OS나 리눅스에 비해 윈도우가 접속이 까다롭기는 하나 putty에 설정사항을 처음 저장할 때 까지가 힘들지 그 이후로는 저장된 세션을 putty를 이용해 접속하면 되니 처음에 설정이 힘들어도 포기하지 마시고(특히 key 변환 부분) 끝까지 진행하셔서 이후로는 편하게 접속하시길 바랍니다.^^

 

posted by 검신흑태자 2025. 4. 9. 23:15

심볼릭 링크의 경우 리눅스 서버 등에서 실제 폴더가 있는 경로는 안전하게 다른 곳에 두고 해당 링크의 심볼만 가져와서 진짜로 폴더가 있는 것처럼 작동하게 하는 링크입니다. 윈도우에서 PHP로 개발을 진행하던 중 Nginx 설정에 프로젝트 폴더를 명시해서 사용하고 있었는데, phpMyAdmin의 경우 해당 폴더에 옮기면 Git에 커밋을 할 때에도 문제가 되는 부분이 있고 보안상의 이슈도 있을 것 같아서 - 사실 phpMyAdmin이라는 폴더 명도 변경하는 게 좋긴 합니다. 해커들이 잘 노린다고 하더군요 - phpMyAdmin은 nginx의 하위 폴더에 두고 리눅스와 같이 심볼릭 링크를 생성하는 게 좋을 것 같아 윈도우에서도 방법이 있는지 찾아보니 꽤 많이 쓰이고 있더군요. 그래서 저도 심볼릭 링크를 생성했고 방법은 아래와 같습니다.

 

1. 심볼릭 링크를 만들 폴더에 관리자 권한으로 cmd를 실행합니다

2. mklink /d 가상폴더명 실제폴더경로 -> 이렇게 실행하면 심볼릭 링크가 생성됩니다.

3. 예시로는 mklink /d d:\php\symbolic c:\php\realfolder 이런 식으로 생성해 주시면 됩니다.

4. 다만 만들고자 하는 심볼릭 링크의 폴더가 이미 존재하면 안 되니 그 부분을 주의해 주시면 될 것 같네요.

 

보안상의 이슈나 저처럼 서버에서 지정한 폴더의 경로가 다른데 참조 폴더가 필요한 경우 등은 사용하시는 게 좋을 듯합니다.

posted by 검신흑태자 2025. 4. 8. 22:01

우린 늘 무엇이든 선택해

 

위험한 아이들(원제 : Dangerous Minds)은 1995년 작품으로 미셸 파이퍼가 주연하고 존 N. 스미스가 감독인 교육에 관한 해당 시대의 현실적인 내용을 담고 있는 영화입니다. 옛날 영화는 종종 찾아서 보는 편인데도 이 영화는 존재 자체도 모르고 있다가 간간히 TV 채널을 돌릴 때면 나오는 '전기현의 씨네뮤직'이라는 프로그램을 보면서 처음 알게 된 영화입니다. 평소에도 음악이나 영화를 좋아해서 해당 프로그램은 TV 채널을 돌리다가 - 0번부터 끝까지 가끔 돌려보는 습관이..- 방송을 하고 있으면 옛날 편이든 요새 편이든 틀어놓고 보는 편인데 이 영화가 나온 회차를 재방송할 때 틀어놓았다가 음악도 음악이지만 소개해주는 스토리가 마음에 든 편이라 한번 봐볼까 하고 생각하고 있던 차에 현재 구독하고 있는 OTT 중 하나인 디즈니 플러스에 이 영화가 있길래 OTT로 시청했습니다.

 

영화의 주요 내용은 루앤 존슨(미셸 파이퍼)가 해병대 복무를 하다가 복무를 정리하고(왜 정리하고 제대했는지는 안 나옵니다) 학교의 교사로 취임을 하게 되는데 취임해서 담임을 맡은 클래스가 문제아로 가득한 클래스에 사회적으로도 어려움을 겪고 있는 - 주로는 가난해서 인 것 같습니다 - 아이들이 있는 클래스입니다. 여기에서 아이들에게 시를 가르치면서 아이들과의 교감과 진정한 선생님으로 성장해 가는 게 이 영화의 주요 내용입니다.

 

이렇게 줄거리만 간단히 써 놓으면 뭔가 평이하고 지루한 내용인 것 같지만 주인공이 담임을 맡은 클래스의 아이들은 사회적인 배경과 가난, 주변 어른들의 무관심 등으로 인해 마음의 문을 닫고 있기 때문에 문제아가 된 것이라 주인공이 이 아이들의 사정을 차차 이해해 나가면서 아이들과 진정으로 교감을 하게 되고 도와주려고 노력하는 모습을 잘 담아내고 있어서 영화가 지루할 틈이 별로 없습니다. 보면서 생각이 들었던 영화는 '죽은 시인들의 사회'나 '디태치먼트'였는데 이 영화와는 결이 조금씩 다르긴 하지만 표현해내고자 하는 부분은 비슷하다는 생각이 들었습니다. 주인공인 선생님들은 모두 문학을 가르친다는 점에도 비슷한 점이 꽤 있다고 볼 수 있겠네요.

 

영화의 후반부에 들어서는 사회적인 분위기와 풍토에 대한 이야기가 대두되고 아이들을 위해서 노력하지만 자신이 해줄 수 있는게 거의 없다는 걸 깨닫게 되는 루앤 존슨의 방황(방황 자체는 잘 표현되지 않네요) 등이 영화의 후반부를 이끌어 갑니다. 그리고 그렇게 영화의 후반부에 들어서면서 더욱 생각을 하게 만드는 영화 같네요. 꽤 오래 전의 영화라 결말까지 다 이야기할 수는 있겠지만 그래도 안 보신 분들도 있고 해서 결말까지 다 쓰지는 않겠습니다. 저는 식스센스를 성인이 돼서야 봤는데 그 스포일러를 이미 너무 많이 접해서 어쩔 수 없이 알고 봤거든요.. 아 저는 스포일러를 당하고 영화를 봐도 괜찮은 편에 속합니다. 하지만 보지 않은 영화 등에 대해 결말은 직접 보고 싶다고 생각하시는 분들도 많이 있으시니 결말은 한번 영화를 직접 보시는 게 나을 것 같네요.

 

요새 넷플릭스니 디즈니 플러스니 티빙이니 해서 저도 OTT에 꽤 가입을 하고 있긴 하지만 그로인해 쏟아지는 콘텐츠들도 그렇고 쉽게 껐다가 다시 볼 수 있다는 장점인지 단점인지 모를 점 때문에 영화나 드라마, 애니메이션 등을 집중해서 보기가 어려운 측면이 있는 것 같아요. 물론 잘 집중하지 않는 제 자신이 제일 큰 문제 이긴 합니다만.. 그럼에도 이 영화는 오랜만에 OTT에서 집중해서 볼 수 있었던 영화네요. 평이한 것처럼 흘러가는 내용에도 긴장감을 놓지 못하게 하는 요소가 있고 이런 식의 생각을 하게 만드는 영화를 좋아하는 편이라 오랜만에 자리에 앉아 무척 재미있게 보았네요. 게다가 결말조차 제가 좋아하는 방향으로 끝났기 때문에 더 마음에 들었네요. 이런 종류의 영화를 좋아하시면 한번 보시는 것도 괜찮을 것 같아요~^^

'영화 > 외국영화' 카테고리의 다른 글

쉘부르의 우산  (0) 2021.04.21
킬러의 보이프렌드  (0) 2021.04.21
posted by 검신흑태자 2025. 4. 7. 19:18

phpMyAdmin은 웹 환경에서 MySQL(Maria DB)를 관리할 수 있는 PHP로 만들어진 DB 관리 툴입니다. 물론 MySQL Workbench나 MariaDB 설치시 같이 설치되는 HeidiSQL 등 다른 프로그램을 이용하셔도 무방합니다. 다만 XAMPP로 활용을 하시는 분들도 많기도 하고 기본적으로 XAMPP가 제공하는 툴 중에 하나가 phpMyAdmin이기도 하고 웹 환경에서 localhost 접속이 제대로 되고 있는지 등의 서버 확인 여부와 관리의 편리성 때문에 저는 phpMyAdmin을 사용합니다. 그래서 이번에는 phpMyAdmin을 윈도우 11환경에서 설치하는 방법을 설명합니다.

 

 원래 XAMPP를 쓰시던 분들은 localhost에 locahost/phpmyadmin 을 입력하시면 접속이 잘 될겁니다. 그게 아니라 저처럼 다 따로 설치하시는 분들은 아래와 같이 하시면 됩니다. MySQL과 같이 설치하기 어렵지는 않습니다. 다만 제 기준으로 설치시에 처음에는 PHP 8.4(최신버전)으로 phpMyAdmin을 설치했었는데 오류가 너무 많고 제대로 phpMyAdmin 접속이 되지 않아 Github와 관련 부분들을 찾아봤지만 마땅히 시원스런 해결법이 없어서 저는 PHP 8.3으로 버전을 다운그레이드 시켜서 설치했습니다. 혹여나 설치를 하셨는데 안되시는 분들은 PHP 버전을 확인해보시고 낮춰서 한번 해보세요. 희안하게도 Linux 서버에서는 8.4가 시원스럽게 잘 지원됩니다..

 

아무튼 phpMyAdmin도 다른 프로그램들과 비슷한 방법으로 설치를 합니다.

 

1. phpMyAdmin 공식 사이트(https://www.phpmyadmin.net/)에서 다운로드를 클릭해서 다운로드 합니다.

2. 다운로드 받은 파일을 압축 해제 시킵니다.

3. Nginx가 지정하는 Document Root 경로에 phpmyadmin으로 폴더 이름 변경 후 이동(다른 폴더 이름도 되는지는 잘 모르겠습니다.)

4. 주소창에 localhost/phpmyadmin을 입력해 제대로 로그인 창 등이 뜨는지를 확인합니다.

5. root 접속 등은 MySQL 설치 시 설정했던 아이디와 비밀번호로 접속하면 됩니다.

 

PHP 버전에 관계가 있는걸 알지 못하고 저는 설치하는데 엄청 고생을 했는데 다른 분들은 그렇게 고생하지 않으셨으면 좋겠네요^^

 

posted by 검신흑태자 2025. 4. 7. 00:07

이것도 카테고리 분류를 조금 고민하다가 이건 DB에 대한 거라 DB & MySQL 환경으로 넣었습니다. 나중에 카테고리를 재정리할 필요가 있겠네요 ^^;;

 

이번에는 MySQL을 윈도우 11 환경에서 설치하는 방법입니다. 이전에 PHP와 Nginx를 설치한 이후 개발을 하다 보면 DB가 필수가 되는데 유명한 통합 설치인 XAMPP 등을 이용하시는 게 여러 포스팅을 보시는 것보다 편하지만 제 컴퓨터의 문제인지 XAMPP에서는 MySQL(Maria DB)가 시작이 되지 않는 오류가 간헐 적으로 일어나서 해결책을 찾아보니 명확한 해결책은 없고 데이터를 무조건 백업했다가 덮어쓰는 방법으로 해결하는 경우가 많았기 때문에 이 작업이 귀찮기도 하고 해서 그냥 따로 설치했습니다. 

 

아무튼 MySQL도 따로 설치하실 때 방법은 간단합니다.MySQL과 MariaDB는 미세한 차이는 있지만 거의 같다고 생각하시면 되니 원하시는 걸로 설치하셔도 무방합니다

 

1. MySQL은 MySQL 홈페이지(https://www.mysql.com/)에서 MariaDB는 MariaDB 홈페이지(https://mariadb.org/) 에서 다운 및 설치가 가능합니다.

2. 제 경우에는 Maria DB를 설치했기에 그걸 기준으로 설명합니다. MariaDB는 압축 해제를 통한 설치도 지원하지만 설치 프로그램 형태로 다운로드가 가능하고 설치 안내에 따라 경로 수정, 루트 비밀번호 및 외부접속, 기본 문자열 인코딩 등을 본인이 원하는 대로 설정하시고 설치를 진행하시면 됩니다.

3. 설치가 완료되면 설치가 되었는지는 같이 설치되는 heidiSQL로 확인 가능합니다. 아니면 설치된 경로에 bin 폴더를 cmd로 띄워서 mysql --version 명령어를 입력해서 확인이 가능합니다.

4. 다른 PHP나 Nginx와 다르게 서비스에 자동적으로 등록되어 실행됩니다. 

 

각각의 프로그램을 따로 설치하다 보니 편한 것도 있고 불편한 점도(설정 등) 있네요. 그래도 하나하나 본인이 해결해간다는 느낌이 들어서 저는 개별적으로 다 설치하는 쪽이 더 좋았네요.