IT와 꿍짝

raspberry pi4에 RaspberryPi OS with desktop 설치(SAMBA 연결, MariaDB, apache2, redmine4.x)

해피비(HappyB, Happy plan B) 2021. 5. 23. 13:56
반응형

 안녕하세요. 행부장입니다.

0. 준비사항
raspberrypi4 4G, microcard 16G
donwload
## 초기 ID / PASSWORD => pi / raspberry
 
1. 기본설정
$sudo rpi-update

##Enter sudo raspi-config in a terminal window
$sudo raspi-config
Select Interfacing Options
Navigate to and select SSH
Choose Yes
Select Ok
Choose Finish


##openssh-server 설치 없이 22port 연결
##
##확인
$netstat -an|grep 22

2.SAMBA for 계정
##samba 설치
$sudo apt-get install samba samba-common-bin

## [YOURID]계정 password 지정 *특수부호 넣으면 안됨
$sudo smbpasswd -a [YOURID]

##수정전 백업
$sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.org

##smb.conf 맨 아래 수정
$sudo nano /etc/samba/smb.conf

#[homes]부분 전부 주석 처리

# DATA RAID1 readonly
[DATA]
  path = /data
  comment = RP4 DATA
  valid users = [YOURID]
#writable = no
  read only = yes
  browsable = yes
  create mask = 0700

# Share
[SHARE]
  path = /home/[YOURID]/dn
  comment = RP4 Share
  valid users = [YOURID]
  writable = yes
  browsable = yes
  create mask = 0777
  directory mask = 0777

## 윈도우즈10 에서 기존 자격 증명으로 로그인한 경우,
## 자격 증명 관리자 실행 후에 Windows 자격 증명 클릭 후에 해당하는 ip나 서버명의 삭제 하기
## 바로 반영이 안되는 경우 발생. 사용 중인 원도우즈 재부팅 필요

##SAMBA service restart
$sudo systemctl restart smbd

##윈도우즈 10 탐색기에서 진행: Connect to your data: "읽기만 가능"
##탐색기로 \\[YOURIP]\data 로 들어가서 위에 해당하는 비밀번호 입력 후, 들어감
##IP 확인은 ifconfig로 가능

##같은 방법으로 Share: "쓰기 가능"
 

 

2. mariadb 설치
 1) mariadb-server libmariadbclient-dev 설치
  $sudo apt-get install mariadb-server libmariadbclient-dev
 
 2) mariadb root 패스워드 설정: mariadb 10.1 이상 버전(아마도?)에서는 초기 설치시 root 패스워드 없음     
    ## root 설정, mariadb root로 접속
    $sudo mysql -uroot
		MariaDB [(none)]> USE mysql;
		
		MariaDB [mysql]> SELECT User, authentication_string , Host, plugin FROM mysql.user;
		+------+-----------------------+-----------+-------------+
		| User | authentication_string | Host      | plugin      |
		+------+-----------------------+-----------+-------------+
		| root |                       | localhost | unix_socket |
		+------+-----------------------+-----------+-------------+

		##root 패스워드 설정, 따옴표도 입력
		MariaDB [mysql]> update user set plugin='mysql_native_password' where user='root';
		MariaDB [mysql]> update user set password=password('2w3e4r5t') where user='root';
		MariaDB [mysql]> flush privileges; 
		MariaDB [(mysql)]> SELECT User, authentication_string , Host, plugin FROM mysql.user;
		+------+-----------------------+-----------+-----------------------+
		| User | authentication_string | Host      | plugin                |
		+------+-----------------------+-----------+-----------------------+
		| root |                       | localhost | mysql_native_password |
		+------+-----------------------+-----------+-----------------------+

		MariaDB [mysql]> exit 
 3) redmine용 DBMS 생성 및 사용자 생성 및 권한들
   $ sudo mysql -uroot -p
		MariaDB [(none)]> USE mysql;
		MariaDB [(mysql)]> create database redmine character set utf8mb4;
		
		##redmine용 user redmineuser 생성
		MariaDB [(mysql)]> CREATE USER 'redmineuser'@'localhost' IDENTIFIED BY '2w3e4r5t';		
		MariaDB [(mysql)]> update user set password=password('2w3e4r5t') where user='redmineuser';
		
		##생성된 유저에 database 권한 부여
		MariaDB [(mysql)]> grant all privileges on redmine.* to 'redmineuser'@'localhost';
	    MariaDB [(mysql)]> GRANT GRANT OPTION ON redmine.* TO 'redmineuser'@'localhost';
	    MariaDB [(mysql)]> flush privileges;
		
        MariaDB [(mysql)]> SELECT User, authentication_string , Host, plugin FROM mysql.user;
    
	##mariadb 종료 후, 시작
	$sudo systemctl stop mariadb
	$sudo systemctl start mariadb
   
   ##reboot 후 다시 진행
   $sudo reboot  
   
   ##확인
   $ mysql -uredmineuser -p
	   MariaDB [(none)]> use redmine;
	   MariaDB [(redmine)]> show tables;
   
#####################################################################
 3. apache2,passenger, ruby, bundler, 
  1)Apache2, libapache2-mod-passenger install
  $sudo apt-get install apache2 libapache2-mod-passenger 
  
  ##apache passenger module의 DefaultUser를 apache process 추가를 위해
  ## <IfModule mod_passenger.c> 아래 PassengerDefaultUser www-data 추가
  ## /etc/apache2/mods-enabled/passenger.conf 수정 (백업 먼저)
    $cd /etc/apache2/mods-enabled
	$sudo cp passenger.conf passenger_org.conf
    $sudo nano passenger.conf
 

  <IfModule mod_passenger.c>
    PassengerDefaultUser www-data
    PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
    PassengerDefaultRuby /usr/bin/ruby
  </IfModule>
 
  
 2)ruby 관련 패키지
  $sudo gem update
  $sudo apt-get install ruby-dev ruby bundler  
  
  ##imagemagick 패키지  imagemagick++-dev는 설치 안됨
  $sudo apt-get install imagemagick 
 
 3) *** phpmyadmin 설치 (옵션: skip)
    $sudo apt-get install phpmyadmin

 

4. redmine 설치 
 1) 최신 redmine 다운로드 
  ## ruby -v 
  ## ruby 2.5.5p157 이여서 redmine-4.1.2.tar.gz (ruby 버전이 2.7.0보다 큰 경우 redmine-4.2.0.tar.gz 이상 설치)
  $cd /opt
  $sudo wget https://www.redmine.org/releases/redmine-4.1.2.tar.gz
  
  ## 소스 압축 해제 및 디렉토리명 변경
  $sudo tar -xvzf redmine-4.1.2.tar.gz
  $sudo mv redmine-4.2.0 /opt/redmine
 4) 설정 샘플 복사 및 수정
  $cd /opt/redmine/config
  $sudo cp database.yml.example database.yml
  
 5)config 디렉토리에서 다음과 같이 명령어 입력
  $bundle install --without development test

 6)/opt/redmine/app/assets/config 아래 manifest.js 파일을 생성 (assets 이하 디렉토리 생성 필요)
  pi@raspberrypi:/opt/redmine/config $ cd ..
  pi@raspberrypi:/opt/redmine $ cd app
  pi@raspberrypi:/opt/redmine/app $ mkdir -p assets/config
  pi@raspberrypi:/opt/redmine/app $ cd assets/config
  pi@raspberrypi:/opt/redmine/app/assets/config $ nano manifest.js

  //= link_tree ../images
  //= link_directory ../javascripts .js
  //= link_directory ../stylesheets .css
 
 7)redmine 초기화 generate_secret_token, db, load_default_data
  pi@raspberrypi:/opt/redmine $ rake generate_secret_token
  pi@raspberrypi:/opt/redmine $ RAILS_ENV=production rake db:migrate
  
  #아래 실행 후, 언어 확인이 뜨면 ko 입력
  pi@raspberrypi:/opt/redmine $ rake redmine:load_default_data RAILS_ENV="production"

 8) virtual host에 ruby 실행 환경을 지정하기 위해 000-default.conf 파일 내 DocumentRoot /var/www/html 아래 추가 (백업 먼저)
    $cd /etc/apache2/sites-enabled
    $sudo cp 000-default.conf 000-default_org.conf
    # DocumentRoot /var/www/html  아래 추가
	$sudo nano 000-default.conf    
    
        # START ADD PassengerStartTimeout default 90 => 450 ( x 5)
		<Directory /var/www/html/redmine>
			RailsBaseURI /redmine
			PassengerResolveSymlinksInDocumentRoot on
			PassengerStartTimeout 450 
		</Directory>
        # END ADD

 9) redmine directory를 redmine 경로의 root 경로로 지정한다.
    $sudo ln -s /opt/redmine/public/ /var/www/html/redmine 

 10) pi 사용자로 설정되어 있는 /opt/redmine  www-data로 변경
    $sudo chown -R www-data:www-data /opt/redmine
	$sudo chmod -R 755 /opt/redmine
  
 11) apache를 restart 및 접속
    $ sudo service apache2 restart
	
	# 웹브라우저 http://[YourIP]/redmine
	# admin / admin => 비밀번호 변경 요청이 나옴
	
 * 참조 url => https://blog.daum.net/sakwon/246?category=1926138


도움이 되었다면 아래▼▼▼ 공감하트 클릭, 응원댓글 부탁드립니다.(공감과 댓글은 로그인이 필요 없어요)
감사합니다.

반응형