Thursday, September 7, 2023

Setup bitnami-redmine-5.0.5 in Centos

 整體基於這個網址,記錄其中操作的錯誤及安裝過程,以防日後再次需要安裝︰
https://hub.docker.com/r/bitnami/redmine

查看docker狀態︰
sudo systemctl status docker
如果docker沒有開啓,可以先開啓服務︰
sudo systemctl start docker
檢查當前用戶有沒有docker權限︰
groups
如果沒有docker群組,可以先創建群組再加入當前用戶︰
sudo groupadd docker
sudo usermod -aG docker <your_username>
重新登出再登入更新群組,如果不想登出,可以強制使用指令︰
newgrp docker

進入安裝步驟,下載docker文件︰
sudo docker pull bitnami/redmine:latest
sudo docker pull bitnami/mariadb:latest
sudo docker images

啓用docker
sudo docker network create redmine-network
sudo docker volume create --name mariadb_data;
sudo docker run -d --name mariadb \
  --env ALLOW_EMPTY_PASSWORD=no \
  --env MARIADB_USER=bn_redmine \
  --env MARIADB_PASSWORD=bitnami \
--env MARIADB_DATABASE=bitnami_redmine \ --network redmine-network \ --volume mariadb_data:/bitnami/mariadb \ bitnami/mariadb:latest
sudo docker volume create --name redmine_data中
sudo docker run -d --name redmine \
  -p 8080:8080 -p 8443:8443 \
  --env ALLOW_EMPTY_PASSWORD=no \
  --env REDMINE_DATABASE_USER=bn_redmine \
  --env REDMINE_DATABASE_PASSWORD=bitnami \
--env REDMINE_DATABASE_NAME=bitnami_redmine \ --network redmine-network \ --volume redmine_data:/bitnami/redmine \ bitnami/redmine:latest
sudo docker start mariadb
sudo docker start redmine


Monday, September 4, 2023

Redmine: preview PDF plugin on redmine 5.0.5

 環境︰bitnami-redmine-5.0.5

安裝plugin︰https://github.com/HugoHasenbein/redmine_more_previews

在plugins目錄中下載代碼,到redmine根目錄運行bundle install

出現錯誤An error occurred while installing zlib 3.0.0


解決方法︰

   sudo apt-get install build-essential

   sudo apt-get install zlib1g-dev



還要安裝ImageMagick,先到這邊下載包,我是選擇下載linux package: 

https://imagemagick.org/archive/binaries/magick

下載後直接執行︰

        chmod +x magick

        ./magick


然後會解壓出安裝環境︰./squashfs-root/,所有的magick執行文件都在這個目錄中,再配置linux環境,可以在~/.bashrc中加入︰

        export MAGICK_HOME="$HOME/squashfs-root"

        export PATH="$MAGICK_HOME/bin:$PATH

        export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MAGICK_HOME/lib

保存後重新載入bashrc︰

        source ~/.bashrc


然後執行magick指令,報以下錯誤︰

magick: error while loading shared libraries: libharfbuzz.so

magick: error while loading shared libraries: libfribidi.so


安裝相關的包︰

        sudo apt-get install libharfbuzz-dev libfribidi-dev


然後就順利執行magick指令了!


Wednesday, September 7, 2022

Redis on Windows

 最近要在Windows起一個Redis:

先使用 Windows 子系統 Linux 版 安裝 Linux ,開一個Powershell。

輸入: wsl --install

按照指示進行安裝,自動重啓後就會進入ubuntu界面,如果之後要再入ubuntu,用cmd輸入bash即可。


安裝Redis:

  • curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
  • echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
  • sudo apt-get update
  • sudo apt-get install redis


設定路徑在︰/etc/redis/redis.conf

執行路徑在︰/etc/init.d/redis-server start


需要打開ubuntu防火牆︰sudo ufw allow 6379

Monday, February 14, 2022

PHP: Warning: session_start(): open(..., O_RDWR) failed: Permission denied

在php 頁面中使用session_start()時,當session timeout後自動加載頁面,會因為之前的session 已結束,所以無法找到檔案。

可以嘗試在php.ini修改︰

session.save_path = 的參數

變更session的儲存位置應該就可以解決這個warning。

Tuesday, February 8, 2022

PHP Dictionary字典及Array矩陣操作

 由於PHP的字典及矩陣操作並不是太方便,經常忘記語法,所以在這邊總結一下︰


1. 下面這兩種都可以使用作為初始化

<?php

    $array=array(

        "foo"=>"bar",

        "bar"=>"foo"

        );

 

    $array=[          //自从PHP5.4以后。

        "foo"=>"bar",

        "bar"=>"foo",

    ];

?>


2. 改變值

$arr = array(5 => 1, 12 => 2);

$arr[] = 56;    //相当于增加了一个$arr[13] = 56;

$arr["x"] = 42; //增加一个新元素,键key=’x‘

unset($arr[5]); //删除数组中5=>1

unset($arr);    // 删除整个数组


3. 分拆explode() 等同python的split()

$str = 'one|two|three|four';

// 第三個參數是正数的 limit, 沒有的話就是全拆分

print_r(explode('|', $str, 2)); // 等於[0] => one, [1] => two|three|four


4. 合併inplode() 等同python的join()

$array = array('lastname', 'email', 'phone');

$comma_separated = implode(",", $array);  //等於 lastname,email,phone


上述內容參考︰https://www.cnblogs.com/coderchuanyu/p/3904711.html

字串格式化可用sprintf() 參考︰https://www.w3schools.com/php/func_string_sprintf.asp