그누보드를 리눅스에 설치하는 것이 파일 저장이든 테스트든 여러 모로 편할 것 같아서 로컬 환경에서 리눅스에 그누보드5 최초 정식 출시 버전을 다운로드 받았다.
잘못 건드리거나 악성코드 배포해도 스냅샷으로 돌릴 수 있으니까...
최초 정식 출시 버전을 다운받은 이유는 취약점이 많을 것 같아서
기본적으로 다음 글을 참고했다.
https://ffoorreeuunn.tistory.com/289
[ Gnuboard ] Ubuntu 20.04 에서 그누보드 설치하기 (근데 망했어요)
우선 APM 부터 설치하도록 하겠습니다. 1. apache 설치하기 sudo apt install apache2 2. mysql 설치하기 sudo apt install mysql 3. php 설치하기 sudo apt install php libapache2-mod-php php-mysql 4. gnuboard 다운받기 wget https://gith
ffoorreeuunn.tistory.com
1. apache 설치
sudo apt install apache2
2. mysql 설치
그누보드에서 mysql 8점대 버전을 사용하면 password() 가 사라져서 에러가 발생한다.
따라서 mysql 7점대 버전 이하를 사용해야 한다.
참고로 우분투 버전은 22.04이다.
sudo apt install mysql-server-5.7
해당 명령어를 이용해서 설치하면 되지 않을까 궁금할 수 있다.
최신 버전의 Ubuntu (22.04)에서는 MySQL 5.7 버전이 공식 저장소에 포함되어 있지 않아 해당 방식으로는 설치할 수 없다.
참고 링크
https://dynaforce.tistory.com/70
우분투 22.04 LTS 에서 MySQL 5.7 설치
1. 아래의 URL로 접속하여 파일명 확인 https://dev.mysql.com/downloads/repo/apt/ 2. wget 으로 다운로드 sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb 3. deb 설치 sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb # 1.
dynaforce.tistory.com
위 링크대로 하면 인증키 설치 부분에서 문제가 발생한다.
따라서 문제를 원활하게 해결할 수 있도록 설치한 과정을 간단히 남겨보았다.
1. 아래의 URL로 접속하여 파일명 확인
https://dev.mysql.com/downloads/repo/apt/
2. wget 으로 다운로드
sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
문제 없이 설치된다.
3. deb 설치
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
해당 명령어로 접속하면 다음과 같은 화면이 등장한다.
처음에 Add repository to unsupported system? 에는 ubuntu bionic을 선택한다.
MySQL Server & Cluster 선택
mysql-5.7 선택
OK 선택
4. 인증키 설치
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
이 뒤 sudo-apt update를 하면 다음과 같은 에러가 발생한다.
Warning을 해결하기 위해서는 다음과 같은 명령어를 입력하면 된다.
sudo mv /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/mysql.gpg
sudo chmod 644 /etc/apt/trusted.gpg.d/mysql.gpg
해당 Warning은 MySQL의 GPG 키가 /etc/apt/trusted.gpg에 키를 직접 저장하고 있기 때문이다.
경고를 제거하기 위해 /etc/apt/trusted.gpg.d/ 디렉토리를 이용해서 GPG 키를 관리하도록 했다.
sudo apt-get update
에러 없이 잘 되었다.
5. 확인
sudo apt update
sudo apt policy mysql-server
문제 없이 잘 된 것 같다.
6. 설치
sudo apt install -f mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*
mysql 5.7 버전이 설치된다.
7. 보안 설정
sudo mysql_secure_installation
보안 설정은 다음 글을 참고했다.
MySQL Server 설치하기 (feat. Ubuntu 18.04)
안녕하세요. 린아저씨 입니다. 오늘은 MySQL Server 설치 방법에 대해서 포스팅하려고 합니다. 사실 Internet이 가능한 Public 환경에서라면 MySQL Server 설치는 아주 쉽습니다. 자 그럼 바로 설치해 봅시
joonyon.tistory.com
8. 접속 및 버전 확인
mysql -uroot -p
select version();
5.7 버전이 설치된 것을 확인할 수 있었다.
내 비밀번호 : eunsochoi020922!
3. php 설치하기
sudo apt install php libapache2-mod-php php-mysql
이대로 설치하면 후술된 에러를 똑같이 확인할 수 있다. 처음부터 php 5.6 버전을 다운받는 것을 추천한다.
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
sudo apt-get install php5.6-mysqli
sudo apt-get install libapache2-mod-php5.6
sudo apt-get install php5.6-gd
4. gnuboard 다운받기
그누보드 5.0 출시 버전을 다운받았다.
https://sir.kr/g5_pds/1958?page=12
그누보드 5.0 > SIR
그누보드5 정식버전입니다. <br/> <br/>그누보드5 github repository : https://github.com/gnuboard/gnuboard5 <br/> <br/> <br/>베타버전에서 정식버전으로 업데이트 하시는 경우 추가된 필드로 인해 <br/>adm/config_form.php
sir.kr
5. gnuboard 압축 해제 / 폴더 생성
sudo tar -zxvf 다운받은 tar.gz
sudo mv gnuboard /var/www/html
cd var/www/html/gnuboard
중간에 압축 해제한 폴더 이름을 gnuboard로 바꿨다.
위 명령어를 실행시키고 localhost/gnuboard 를 브라우저에서 열면 다음과 같다.
그누보드5 설치하기를 누르면 다음 화면이 나온다.
php GD 라이브러리를 설치했다.
sudo apt install php-gd
설치한 뒤 확인까지 했다.
php -m | grep gd
dpkg -l | grep php | grep gd
잘 설치된 것 같다.
php 업데이트를 apache에 적용하기 위해 apache를 재시작한다.
service apache2 restart
다시 설치로 돌아갔다.
sudo mkdir data
sudo chmod 707 data
gnuboard 경로 아래에서 만들어야 한다.
라이센스 동의를 한 뒤에 다음 화면으로 넘어왔다.
mysql DB를 만들어주자.
sudo mysql -u root -p
create database gnuboard;
그 뒤 나머지 정보를 입력해 주었다.
여기에서 강조할 것이 하나 있다.
제발 비밀번호 8글자 미만으로 하지 말았으면 좋겠다!
mysql에서 비밀번호 안전을 위해 8글자 이상으로 지정해야 하게 했다...
이건 비밀번호 강도를 low로 바꾸어도 적용된다...
나처럼 파일 다시 설치하지 말고 처음부터 8글자 이상으로 지정하면 좋겠다...
* PHP 버전 문제 해결
입력을 하면
해당 오류가 발생한다.
이는 PHP에서 MySQL 연결 함수인 mysql_connect()를 찾을 수 없어서 발생하는 문제이다.
원인을 탐색해보았더니, php 설치를 지정 없이 명령어로 했더니 가장 최신 버전인 8.1 버전이 설치된 것이었다.
PHP 8.1버전은 MySQL 확장 대신 MySQLi 확장을 권장한다.
따라서 MySQLi 함수를 사용하여 MySQL 데이터베이스에 연결하고 쿼리를 실행하는데, MySQL 함수 (mysql_connect(), mysql_query() 등)는 더 이상 PHP 8.1에서 지원되지 않으므로 해당 함수를 사용하면 Call to undefined function와 같은 오류가 발생하는 것이다.
따라서 PHP 버전을 5로 내린 뒤에 추가적인 패키지 저장 설정이 필요하다.
Ubuntu의 경우에는 Ondřej Surý의 PPA(Personal Package Archive) 저장소를 사용하여 원하는 PHP 버전과 관련된 패키지를 설치할 수 있다.
다음 명령을 사용하여 Ondřej Surý의 저장소를 추가한다.
sudo add-apt-repository ppa:ondrej/php
저장소를 추가한 후에는 다시 패키지 목록을 업데이트하고 원하는 버전의 PHP와 관련된 패키지를 설치한다.
sudo apt-get update
sudo apt-get install php5.6
sudo apt-get install php5.6-mysqli
sudo apt-get install libapache2-mod-php5.6
sudo apt-get install php5.6-gd
이렇게 하면 추가 저장소에서 PHP 5.6 버전과 관련된 MySQLi 확장을 설치한 것이다.
하지만 여전히 apache에는 PHP 8.1 버전이 연결되어 있다.확인은 간단히 /var/www/html에 gedit phpinfo.php를 추가해 내용을 다음과 같이 지정했다.
<?php
phpinfo();
?>
이렇게 되면 웹에서 localhost/phpinfo로 접속하면 PHP 버전에 대한 정보를 볼 수 있다.
위에서 서술한 대로 PHP를 설치했다면 여전히 PHP Version 8.1 문서가 확인될 것이다.
따라서 PHP8.1과의 연결을 끊고 PHP5.6와 연결해야 한다.
sudo a2dismod php8.1
sudo a2enmod php5.6
해당 명령어를 입력했다면 apache 서버를 재부팅한다.
sudo service apache2 restart
이제 PHP5.6와 연결된 것을 확인할 수 있다.
PHP 5.6과 연결되었다면 /etc/php/5.6/apache2에 들어가서 php.ini 파일을 확인한다.
php.ini 파일에서 아래 4개의 주석을 해제한다.
extension=php_mysqli.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_openssl.dll
다시 서버를 리스타트 한다.
sudo service apache2 restart
다시 install 페이지로 가서 아까와 같이 DB 정보를 넣고 다음 버튼을 누른다.
설치가 시작되었다는 화면이 떴다!
새로운 그누보드5로 이동 버튼을 누르면 무사히 생성된 것을 확인할 수 있다.
PHP 버전 문제를 확인하면서 참고한 사이트이다.
에러 메세지 추가
그누보드 설치중 빈화면이 떠요... > SIR
안녕하세요! <br/> <br/> <br/> <br/>그누보드 설치중 mysql정보 입력후 다음버튼을 누르면 설치완료 페이지가 아닌 그냥 하얀색 빈화면만 뜨는데 무슨 오류일까요? <br/> <br/> <br/> <br/>db비밀번호가 정
sir.kr
PHP 버전 문제 및 php.ini 수정
영카트5 설치시 mysql에러 connect문제인것같은데 도와주세요 ㅠ > SIR
<br/> <br/> <br/> <br/>설치시 MYSQL정보입력, 최고관리자 정보입력을 한뒤 다음을 누르면 이러한 에러가 뜨는데 어떤건지 모르겟습니다 ㅠ <br/> <br/>php는 7쓰고 있습니다. <br/> <br/> <br/> <br/> <br/>Fata
sir.kr