こちらはvExperts Advent Calendar 2023 の12/22の記事です。
最初に
Advent Calandar 2023に参加したときは、"VMware Explore 2023 Tokyo VMUG特別Session"か、"私のJob vMotion"でも書こうと思っていたのですが、新しい職場の知り合いの方から、「Nextcloudが面白そう」とお伺いしたので、お試しで作ってみました。
Ubuntuのインストール、ダウンロード含め2時間もあれば終わると思います。
(インストールやダウンロードの待ちも多いので、手を動かすのは30分~1時間。)
Nextcloudとは?
シンプル言うと、オンプレ上にBOXっぽいの作れちゃうオープンソースのようです。
環境
環境としては、こんなイメージです。
普段はNested ESXiにこういう環境作るのですが、そちらもリニューアル中のため、今回は VMware Workstation 上にUbuntu入れてみました。
1.事前準備
とりあえず、VMware Workstation上にUbuntuを入れます。
(ポチポチすればいけるので割愛)
2. Ubuntu最新化
Ubuntu を最新化するため、Terminalを開いて次のコマンドを実行します。
sudo apt upgrade -y
sudo apt update -y
sudo apt install build-essential pkg-config tcl -y
実行が終わったら、再起動します。
3.Apacheのインストールと設定
続いて、Apacheのインストールと設定をちょこちょこします。
sudo apt install apache2 -y
cd /etc/apache2/mods-available
sudo a2enmod rewrite
適当なエディタで /etc/apache2/sites-available/nextcloud.conf を作成します。
<VirtualHost *:80>
DocumentRoot /var/www/html/nextcloud/
ServerName "IPアドレス"
<Directory "/var/www/html/nextcloud/">
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>
Apacheの設定を有効化します。
cd /etc/apache2/sites-available/
sudo a2ensite nextcloud
sudo a2dissite 000-default
自動起動も有効化します。
sudo systemctl enable apache2
sudo systemctl start apache2
4.PHPのインストール
php8.1を入れます。(もっと新しいの入れればよかったかも)
sudo apt install php8.1 php8.1-curl php8.1-dom php8.1-gd php8.1-mbstring php8.1-zip php8.1-mysql php8.1-bz2 php8.1-intl php8.1-apcu php8.1-redis php8.1-imagick php8.1-bcmath php8.1-gmp -y
・割り当てメモリ増
sudo sed -i "s/^memory_limit = 128M/memory_limit = 512M/" /etc/php/8.1/apache2/php.ini
・PHPセッションの設定
sudo sed -i "s/^session.save_handler = files/session.save_handler = redis/" /etc/php/8.1/apache2/php.ini
sudo sed -i "s@^;session.save_path = "/var/lib/php/sessions"@session.save_path = "tcp://localhost:6379"@" /etc/php/8.1/apache2/php.ini
5.MariaDBのインストールと設定
・インストール
sudo apt install mariadb-server mariadb-client -y
・自動起動
sudo systemctl enable mariadb
sudo systemctl start mariadb
・セキュリティ設定
sudo mysql_secure_installation
→適当にパスワードとかつけてください。
・mysqlへのアカウント追加
sudo mysql -uroot ← root でログイン
nexcloudのDB用アカウント作成
--
CREATE DATABASE nextcloud DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'nextcloud';
GRANT ALL ON nextcloud.* TO "nextcloud"@"localhost";
SHOW GRANTS FOR 'nextcloud'@'localhost';
--
6. Redisのインストール
以下をコピペしてTerminalで実行。
cd /tmp
wget http://download.redis.io/redis-stable.tar.gz
tar xf redis-stable.tar.gz
cd redis-stable
make
sudo make install
sudo adduser --system --group --no-create-home redis
sudo mkdir /etc/redis
sudo mkdir /var/log/redis
sudo mkdir /var/lib/redis
sudo chown redis:redis /etc/redis
sudo chown redis:redis /var/log/redis
sudo chown redis:redis /var/lib/redis
sudo chmod 770 /var/lib/redis
sudo cp redis.conf /etc/redis
sudo su -c "sed -e 's/^logfile .$/logfile "/var/log/redis/redis.log"/' -e 's/^dir .$/dir /var/lib/redis//' ./redis.conf > /etc/redis/redis.conf"
・自動起動の設定
/etc/systemd/system/redis.service を作成。
---
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
---
・自動起動の設定
sudo systemctl enable redis
sudo systemctl start redis
7.Nextcloudのインストール
目的のNextcloudのインストールをはじめます。
最新版のURLはここから探せました。
https://download.nextcloud.com/server/releases/
Ubuntu上でTerminalを開いて次を実行します。
cd /tmp
wget https://download.nextcloud.com/server/releases/nextcloud-27.1.5.tar.bz2
tar xf nextcloud-27.1.5.tar.bz2
sudo mv nextcloud/ /var/www/html/
sudo mkdir /var/www/html/nextcloud/data
sudo chown -R www-data:www-data /var/www/html/nextcloud
上記後、ブラウザで対象仮想マシンのIPにアクセスするとNextcloudの画面にアクセスできます。
私の環境だと"192.168.58.31"
元のWindows11からもこんな感じでアクセスできます。
アクセスしたらこんな情報を入れて、インストール を押します。
Nextcloudの管理者アカウントとパスワード、MariaDBに作ったユーザー名とパスワード、ホスト名はlocalhost:3306 とか。
クリック後、5分程度でインストールが終わりました。
エラーや警告はありますがとりあえず管理者画面までこれたので今回はここまでとします。
少し触ってみて気になることがあれば追加投稿するかも。
ただ、ヤフオクでArubaの無線AP落としたので次はそっちかな?VMとの絡め方は決めてないけど。