Amazon Linux へ let’s encript設定

Amazon Linux へ let’s encript設定

まずはインスタンスの起動
なお、毎回ブラウザを立ち上げるのは面倒なので
AWS CLI を使ってインスタンス起動します

EC2インスタンスをAWS CLIで起動する

に記載されているのを参考にしました

起動コマンドは

aws ec2 start-instances --instance-ids "起動したいインスタンスID"

となります

なお、AWS CLI で設定にあたりIAMユーザ作成が必須

設定については
ubuntu14.04 に awscli インストール

のときに行いました

インストールに関しては
AWS CLI のインストールと設定


Mac Linux WIndows での方法が載っています

インスタンスIDは
AWSコンソールで確認できます

なお、起動後の状態をみるには

aws ec2 describe-instance-status --instance-ids "インスタンスID"

となります

停止させるには

aws ec2 stop-instances --instance-ids "停止させたいインスタンスID"

となります

とりあえず、起動できたら
Amazon Linux 初期設定
まずは ubuntu で ssh 接続の準備

mv ダウンロード/wp-aws.pem .ssh/
chmod 400 .ssh/wp-aws.pem 

で鍵ファイルの移動と権限変更

次にEC2インスタンスのIPを取得

aws ec2 describe-instances --instance-ids "インスタンスID" --query 'Reservations[0].Instances[0].PublicIpAddress'

で取得できるので
これで

 ssh -i .ssh/wp-aws.pem ec2-user@54.250.245.32

というようにすれば接続OK

なおデフォルトユーザは
ec2-user になります

次に
AWSのEC2で行うAmazon Linuxの初期設定

を参考に初期設定

まずパッケージのアップデート

sudo yum update -y

次に yum-cron をいれて自動更新できるように設定

sudo yum install yum-cron -y
sudo chkconfig yum-cron on
sudo sed -i "s/^apply_updates.*$/apply_updates = yes/g" /etc/yum/yum-cron.conf
sudo service yum-cron start

次にタイムゾーンを日本にする

sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime 
sudo sed -i "s/\"UTC\"/\"Japan\"/g" /etc/sysconfig/clock
sudo reboot

これで再起動してから
date コマンドで日時を確認

date

次に文字コードを日本語対応に

sudo sed -i "s/en_US\.UTF-8/ja_JP\.UTF-8/g" /etc/sysconfig/i18n

ここまでできたら
LAMPサーバーのインストール

やり方については
チュートリアル: Amazon Linux AMI を使用して LAMP ウェブサーバーをインストールする

を参考に

まずは必要なパッケージのインストール

sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd

次に webサーバの起動と
chkconfig で
ブート時に起動するように設定

sudo service httpd start
sudo chkconfig httpd on

これでブラウザでAWSインスタンスのIPへ接続し
Amazon Linux AMI Test Page
が表示されればOK

IPを知りたい場合

aws ec2 describe-instances --instance-ids "インスタンスID" --query 'Reservations[0].Instances[0].PublicIpAddress'

で取得できる

次にファイル許可の設定
今回は ec2-user を apache グループへ追加

sudo usermod -a -G apache ec2-user

一度ログアウトして
再度ログインし

groups

を実行すると
apache グループが作成されています
ログアウトしないとでませんでした

次に /var/www/以下のコンテンツグループ所有権
を apacheグループへ変更

sudo chown -R ec2-user:apache /var/www/

グループの書き込み許可を追加し
これからのサブディレクトにグループ ID を設定

sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;

そしてグループ書き込みの許可設定する

find /var/www -type f -exec sudo chmod 0664 {} \;

次にmysql のセキュリティ強化
まず mysql の起動

sudo service mysqld start

で起動

sudo mysql_secure_installation

でセキュリティ設定

内容は
Enter current password for root (enter for none):
はroot アカウントのパスワードだけど
最初は mysql root パスワードはないので
Enter でOK

Set root password? [Y/n]

パスワード設定しますかなので y

New password:
でパスワード設定
ただしセキュリティのため表示はされない

Re-enter new password:
で確認のためもう一回入力
こちらも表示はされない

Remove anonymous users? [Y/n]
は匿名アカウントの削除なので
y

Disallow root login remotely? [Y/n]
はリモート root ログインを無効化するなので
y

Remove test database and access to it? [Y/n]
はテストDB削除なので
y

Reload privilege tables now? [Y/n]
は権限テーブルのリロードと変更保存なので
y

そして次回起動時に mysqld を自動起動したいので

sudo chkconfig mysqld on

次に Let’s Encrypt の適用
ドメインと固定IPが必要になるので
お名前.com でドメイン取得し
Elastic IP を取得

Elastic IP の取得については
AWS Elastic IP 設定

AWS Elastic IP 設定

お名前.com で Elastic IP を反映するには
お名前.com へ Elastic IP を反映

お名前.com へ Elastic IP を反映


を参考に

設定後、取得したドメインへ
ブラウザからアクセスし apache のテスト画面が表示されれば成功

念の為、ここまでやったことをAMIにして保存

次に
チュートリアル: Amazon Linux で SSL/TLS を使用できるように Apache ウェブサーバーを設定する

を参考に
SSL/TLS の有効化

Elastic IP を別のマシンで使っていて
割り当てを変更して使う場合
ubuntu では

Offending ECDSA key in /home/snowpool/.ssh/known_hosts:17

というようになってしまうことがあるので

この場合

sudo vim /home/snowpool/.ssh/known_hosts

というように
.ssh/known_host
を開き
該当する行を削除すると接続可能に
今回なら :17 となっているので
17行目を削除

ログインできたら

sudo yum install -y mod24_ssl

でSSL/TLS のサポートを追加

次に Cerbot のインストールと実行

まずEPELパッケージを有効化

 sudo yum-config-manager --enable epel

次に cerbot インストール

curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
wget https://dl.eff.org/certbot-auto

で cerbot を取得

chmod a+x certbot-auto

で権限付与

sudo ./certbot-auto --debug

を実行するとインストールが開始される
最初にパッケージのインストールをするか聞かれるので
y

Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to
cancel):
でメルアド入力

(A)gree/(C)ancel:
で規約同意するか聞かれるので
A

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let’s Encrypt project and the non-profit
organization that develops Certbot? We’d like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.

メーリングリストに登録するかきかれるので
いまは不要なので N

No names were found in your configuration files. Please enter in your domain
name(s) (comma and/or space separated)
ではドメインを入力

しかし、最後にエラーになるため
Let’s Encryptを使ってSSL証明書を自動更新する(AWS/Amazon Linux/Apache)

を参考に実践

sudo curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
sudo chmod 700 /usr/bin/certbot-auto

でファイル取得と権限付与

sudo /usr/bin/certbot-auto certonly --webroot -w /var/www/html --email メルアド -d ドメイン名

で証明書作成

sudo vim /etc/httpd/conf.d/ssl.conf 

でファイルを開き

102行目あたりの

SLCertificateFile /etc/pki/tls/certs/localhost.crt

をコメントアウトし

SSLCertificateFile /etc/letsencrypt/live/ドメイン名/fullchain.pem

とする

110行目あたりの

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

をコメントアウトし

SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem

とする

保存したら

sudo service httpd restart

で再起動し
https://ドメイン名
で接続したときにセキュリティ警告がでなkればOK

sudo /usr/bin/certbot-auto renew --post-hook "sudo service httpd restart"

を実行し

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/snowpool.info.conf
-------------------------------------------------------------------------------
Cert not yet due for renewal

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/www.snowpool.info.conf
-------------------------------------------------------------------------------
Cert not yet due for renewal

-------------------------------------------------------------------------------

The following certs are not due for renewal yet:
  /etc/letsencrypt/live/snowpool.info/fullchain.pem (skipped)
  /etc/letsencrypt/live/www.snowpool.info/fullchain.pem (skipped)
No renewals were attempted.
No hooks were run.

となればOK

次にLet’s Encript の更新自動化
これは Let’s Encript の有効期限が3ヶ月のため

 sudo vim /etc/cron.d/letsencript

でファイルを作成

00 16 * * 2 root /usr/bin/certbot-auto renew --post-hook "service httpd restart"

で毎週火曜日の16時にrenew が起動するようになります

Amazon Linux へ wordpress 設定(インスタンスとAMI作成まで)

Amazon Linux へ wordpress 設定

WordPress へ Let’s Encrypt の適用をて試してみたいので実践

まずは EC2 インスタンスの作成
作成するインスタンスはAmazonLinux で
インスタンスタイプは t2.micro
これを選んで確認と作成をクリック

aws

aws2

次にセキュリティグループの設定
このままだとすべて通信許可になるので
セキュリティグループの編集をクリック

aws3

接続するSSHの制限をかけるので
ソースをカスタムから
マイIP
へ変更しルールの追加をクリック

aws4

HTTPS
HTTPを追加するので
タイプをHTTPS
としてルールを追加
もうひとつ
HTTPを設定したら確認と作成をクリック

aws5

あとは画面右下の作成をクリックすると
ログインに使うキーペアをどうするか聞かれる

aws6

とりあえずセキュリティのため
新しいキーペアを作成する

この場合、キーペア名を設定しダウンロードすることになる
とりあえずは wp-aws としておく

あとは
キーペアのダウンロードをクリックして
ファイルを保存したら
インスタンスの作成
をクリック

aws7

これでインスタンスが作成されます

あとは失敗したときのことを考えて
AMI を作成しておきます

作成したインスタンスをチェックし
アクションからイメージの作成をクリック

aws9

次に概要を入力するので

http://tech.lexues.co.jp/archives/1704
にあるように
再起動しないにチェックをいれるのを忘れずに
これをしないとインスタンスが再起動してしまいます

とりあえず今回は
イメージ名
wordpress_test

説明には
wordpress test
としておきます

あとはイメージの作成をクリック

aws10

これでAMIができたので
失敗したらここから作成し直すことができます

ラズパイ3へ Redmine の導入

ラズパイ3へ Redmine インストール

RaspberryPiにRedmineをインストールする方法

を参考にインストール

まずパッケージのアップデート

sudo apt-get -y update
sudo apt-get -y upgrade

次に redmine に必要なパッケージのインストール

sudo apt-get -y install apache2 libapache2-mod-passenger imagemagick libmagick++-dev ruby-dev bundler git subversion

DBにmysql を使うのでインストールする予定だったが
libmysqlclient-dev がないため、postgresql を使う
ように変更

まずロケール設定

sudo locale-gen ja_JP.UTF-8

次に開発ツールと ruby passenger 関連インストール

sudo apt-get -y install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev 

そして postgresql のインストール

sudo apt-get -y install postgresql postgresql-server-dev-9.5

次に apache 関連インストール

 sudo apt-get -y install apache2 apache2-dev libapr1-dev libaprutil1-dev 

次に imagemagic と日本語フォントのインストール

sudo apt-get install -y imagemagick libmagick++-dev 
sudo apt-get -y install fonts-takao

しかしメモリ不足のためインストールエラー
このため一度再起動して再度挑戦

sudo apt-get -y install fonts-taksudo 
apt-get -y install fonts-takao
fc-list | grep takao

として

/usr/share/fonts/truetype/takao-mincho/TakaoPMincho.ttf: Takao P明朝,TakaoPMincho:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf: Takao Pゴシック,TakaoPGothic:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf: Takaoゴシック,TakaoGothic:style=Regular
/usr/share/fonts/truetype/takao-mincho/TakaoMincho.ttf: Takao明朝,TakaoMincho:style=Regular

となればOK

[/shell]
sudo apt-get install git subversion
[/shell]
でバージョン管理ソフト git と subversion
のインストール

次に ruby のバージョンの確認

ruby -v

を実行したところ、現在のバージョンは
ruby 2.3.3p222
これはもともと入ってました

次に bundlerのインストール

sudo gem install bundler --no-document

–no-document
をつけるとドキュメントなしになります

次に PostgreSQL のバージョン確認

psql --version

今回は
psql (PostgreSQL) 9.6.6
でした

次に Redmine用ユーザ作成

sudo -u postgres createuser -P redmine

そして Redmine のためのDB作成

sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine

次にDB設定値確認

sudo -u postgres psql -U postgres 

で PostgreSQL のコンソールになるので

\l

を実行するとDB設定をみることができます
なお、この画面を抜けるには q を押せばOK

                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権       
-----------+----------+------------------+-------------+-------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | 
 redmine   | redmine  | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | 
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
(4 行)

今回はこんなかんじになりました

なお PostgreSQL コンソールを抜けるには

\q

で抜けれます

次にRedmine のインストール

sudo mkdir /var/lib/redmine
sudo chown www-data /var/lib/redmine/

で mkdir でディレクトリを作成し
chown で www-data に所有者変更

sudo -u www-data svn co http://svn.redmine.org/redmine/branches/3.4-stable /var/lib/redmine

で svn を使い
/var/lib/redmine/ 以下へダウンロード

なお svn コマンドについては
【svn】基本コマンド

を参考に

今回使った svn co はチェックアウト

次にDB接続設定

sudo vim /var/lib/redmine/config/database.yml

でファイルを作成し、中身は

production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "redmineDBのパスワード"
  encoding: utf8

としておく

次にRedmine の設定ファイルの作成
これはサンプルを書き換えて作成するので

cd /var/lib/redmine/config/
sudo cp configuration.yml.example configuration.yml

でファイルをコピーして

 sudo vim configuration.yml

でファイルを開き

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: 'example.com'

  rmagick_font_path: /usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf

として保存

次に redmineの gem のインストール

cd /var/lib/redmine/
sudo -u www-data bundle install --without development test --path vendor/bundle

次にセッション改ざん防止秘密鍵作成

sudo -u www-data bundle exec rake generate_secret_token 

次にDBテーブル作成

sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate

次にデフォルトデータ登録

sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

次に Passenger のインストール

sudo gem install passenger --no-rdoc --no-ri

Passenger Apacheモジュールインストール

 sudo passenger-install-apache2-module --auto --languages ruby

次に apache用設定ファイルの確認

passenger-install-apache2-module --snippet

内容は

LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.12
  PassengerDefaultRuby /usr/bin/ruby2.3
</IfModule>

となりました

次に Apache の設定

 sudo vim /etc/apache2/conf-available/redmine.conf

でファイルを作成し

<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>

LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.12
  PassengerDefaultRuby /usr/bin/ruby2.3
</IfModule>

PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerStatThrottleRate 10

としてRedmine の画像ファイルやCSSファイルへ
アクセスを許可
これをしないと apache2.4 のデフォルト設定では
アクセス禁止になっている
そして Passenger の基本設定をコマンドの実行結果を元に記述し
Passenger のチューニング設定を追記

設定については
ttps://www.phusionpassenger.com/library/config/apache/reference/
のリファレンスを参考に

ここまでできたら apache の設定を反映

sudo a2enconf redmine 
 apache2ctl configtest 

を実行したときに

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

となるので

apache2再起動時にAH00558が発生する

を参考にServername を設定

hostname

でホスト名を確認
今回は
raspberrypi
だったので

cd /etc/apache2/conf-available/
sudo touch fqdn.conf
sudo vim fqdn.conf 

でファイルを作成して編集

ServerName raspberrypi

として保存し

sudo a2enconf fqdn 
sudo service apache2 restart 

として設定を反映し
apache2 を再起動したところ

Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.

となるため

journalctl -xe

で確認すると

-- Unit apache2.service has begun starting up.
 1月 29 20:58:15 raspberrypi apachectl[24661]: [Mon Jan 29 20:58:15.640734 2018] [so:warn] [pid 24664:tid 1996165120] AH01574: module p
 1月 29 20:58:15 raspberrypi apachectl[24661]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
 1月 29 20:58:15 raspberrypi apachectl[24661]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
 1月 29 20:58:15 raspberrypi apachectl[24661]: no listening sockets available, shutting down
 1月 29 20:58:15 raspberrypi apachectl[24661]: AH00015: Unable to open logs
 1月 29 20:58:15 raspberrypi apachectl[24661]: Action 'start' failed.
 1月 29 20:58:15 raspberrypi apachectl[24661]: The Apache error log may have more information.
 1月 29 20:58:15 raspberrypi systemd[1]: apache2.service: Control process exited, code=exited status=1
 1月 29 20:58:15 raspberrypi systemd[1]: Failed to start The Apache HTTP Server.
-- Subject: Unit apache2.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit apache2.service has failed.
-- 
-- The result is failed.
 1月 29 20:58:15 raspberrypi systemd[1]: apache2.service: Unit entered failed state.
 1月 29 20:58:15 raspberrypi systemd[1]: apache2.service: Failed with result 'exit-code'.
 1月 29 20:58:15 raspberrypi sudo[24652]: pam_unix(sudo:session): session closed for user root
 1月 29 21:05:01 raspberrypi CRON[25108]: pam_unix(cron:session): session opened for user root by (uid=0)
 1月 29 21:05:01 raspberrypi CRON[25112]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
 1月 29 21:05:01 raspberrypi CRON[25108]: pam_unix(cron:session): session closed for user root

すでに Gitlab を設定しているため
サブディレクトリで Redmine を実行するように設定を変更

sudo vim /etc/apache2/conf-available/redmine.conf 

でファイルを開き

Alias /redmine /var/lib/redmine/public
<Location /redmine>
  PassengerBaseURI /redmine
  PassengerAppRoot /var/lib/redmine
</Location>

を最終行に追記し保存

sudo service apache2 reload 

としたけど

apache2.service is not active, cannot reload.

となってしまう

sudo ln -s /var/lib/redmine/public /var/www/html/redmine

でシンボリックリンクを作成し

RackBaseURI /redmine

 /etc/apache2/conf-available/redmine.conf 

の最終行へ追記してもエラー

再度

apachectl configtest

を実行すると

AH01574: module passenger_module is already loaded, skipping

とエラーが変化

systemctl status apache2.service

でエラーをみたところ

(98)Address already in use: AH00072: make_sock

とあり
検索すると
エラーメッセージとその対処あれこれ

によればポートの競合が原因

おそらく GitLab で使っているポートと重複するのが
原因

このため Gitlab の ポートを変更することに

sudo vim /etc/gitlab/gitlab.rb 

で設定ファイルを開き

13行目あたりの

external_url 'http://raspberrypi'

の部分を

external_url 'http://raspberrypi:7000'

として
7000版ポートを使うように変更
変更の方法については
GitLab 8.2 + HTTPS 設定メモ(CentOS7)

GitLab 8.2 + HTTPS 設定メモ(CentOS7)


を参考にしました

しかし、これでもダメなため
Gitlab Redmine 共存環境で検索し

sudo vim /etc/gitlab/gitlab.rb 

で設定ファイルを開き

444行目の

#gitlab_workhorse['auth_backend'] = "http://localhost:8080"

506行目の

#unicorn['port'] = 8080

のコメントアウトを削除し

744行目の

#nginx['listen_port'] = nil

nginx['listen_port'] = 8080

へ変更

設定反映のため

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

としたけどダメ

このため、一度これらの設定を元に戻す

ラズパイにRedmine3をインスールする。そして地獄を見る。また。。。

を参考に設定ファイルを変更

sudo apt-get install -y libapache2-mod-passenger imagemagick libmagick++-dev libmagickcore-dev libmagickwand-dev apache2-dev libcurl4-openssl-dev libapr1-dev libaprutil1-dev

でパッケージを追加し

sudo swapon -s

でswap容量を確認

これで100Mしかないため

sudo service dphys-swapfile stop

で一度とめて

sudo vim /etc/dphys-swapfile

でファイルを開き
16行目あたりの

CONF_SWAPSIZE=100

CONF_SWAPSIZE=2048

へ変更し

sudo service dphys-swapfile start

で再起動

次に

sudo vim /etc/apache2/conf-available/redmine.conf 

で内容が

<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>

RackBaseURI /redmine

であることを確認し

 sudo cp /etc/apache2/conf-enabled/redmine.conf redmine.conf_bak

ですでに存在するファイルをバックアップしてから

sudo rm /etc/apache2/conf-enabled/redmine.conf 

で削除し

sudo ln -s /etc/apache2/conf-available/redmine.conf /etc/apache2/conf-enabled/redmine.conf 

でシンボリックリンク作成して

sudo vim /etc/apache2/mods-available/passenger.conf

を実行すると

<IfModule mod_passenger.c>
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby
</IfModule>

となっているので
この下へ

PassengerResolveSymlinksInDocumentRoot on
PassengerInstanceRegistryDir /var/run/passenger-instreg


追記し保存

sudo vim /etc/apache2/mods-available/passenger.load

でファイルを開くと

LoadModule passenger_module /usr/lib/apache2/modules/mod_passenger.so

となっていた

sudo a2enconf redmine
apache2ctl configtest
sudo service apache2 restart 

でエラーはないけど
redmine へアクセスしようとしてもディレクトリ構造だけ

passenger-status

を実行すると

ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it is running, then the causes of this problem could be:

1. You customized the instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command line argument. If so, please set the environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory and run passenger-status again.
2. The instance directory has been removed by an operating system background service. Please set a different instance registry directory using Apache's PassengerInstanceRegistryDir option, Nginx's passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry-dir command line argument.

となるため、
これで検索

[CentOS] Redmineのインストールメモ

によれば

sudo mkdir /var/run/passenger-instreg


httpd.conf」に以下を追加
とあったけど

sudo vim /etc/apache2/apache2.conf 

で開いても項目が見当たらないため

再度コマンド履歴をみたところ

/etc/apache2/mods-enabled/passenger.load

がシンボリックリンクになっていないため

sudo cp /etc/apache2/mods-enabled/passenger.load .

でバックアップし

sudo rm /etc/apache2/mods-enabled/passenger.load


ファイルを削除して

sudo ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/passenger.load

でシンボリックリンクを作成し

sudo service apache2 restart 

とすると
ようやく redmine が起動しました