본문 바로가기
IT와 꿍짝

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

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

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

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


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

반응형

댓글