Last active
January 24, 2023 20:30
-
-
Save yama/9423d75bb930910d2756e828e7c0d383 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 最初に vagrant up を実行 | |
# id: apache: no such user と表示されてプロンプトに戻ってくるので、ここで vagrant vbguestを実行 | |
# GuestAdditionsの最新版がインストールされて、またプロンプトに戻ってくる。再びvagrant upを実行 | |
# 膨大なプロビジョン処理が再開されるので、しばらく待つ。 | |
# Job for httpd.service failed と表示されてプロンプトに戻ってくるが、これはプロビジョンが完了したということ | |
# vagrant reload で再起動。ローカルフォルダがマウントされRunning: inline script と表示される | |
# ブラウザを開いてディレクトリ名.localでApacheの初期ページを開くことができる | |
# 利用するIPアドレスを設定します | |
GUEST_IP = "192.168.33.8" | |
def install_plugin(plugin) | |
system "vagrant plugin install #{plugin}" unless Vagrant.has_plugin? plugin | |
end | |
install_plugin('vagrant-vbguest') | |
install_plugin('vagrant-hostmanager') | |
Dir.mkdir("html") unless Dir.exist?("html") | |
HOSTNAME = File.split(File.dirname(__FILE__))[1] + '.local' | |
Vagrant.configure(2) do |config| | |
config.vm.provider "virtualbox" do |v| | |
v.gui = true | |
end | |
config.vm.box = "generic/centos7" | |
config.hostmanager.enabled = true | |
config.hostmanager.manage_host = true | |
config.vm.hostname = HOSTNAME | |
config.vbguest.auto_update = false | |
config.vbguest.installer_options = { allow_kernel_upgrade: true } | |
config.vbguest.auto_reboot = true | |
config.vbguest.no_remote = true | |
config.vm.synced_folder ".", "/var/www", type:'virtualbox', | |
:owner => "apache", | |
:group => "apache", | |
:create => true, | |
:mount_options => ['dmode=777','fmode=666'] | |
config.vm.network "private_network", ip: GUEST_IP | |
config.vm.provision :hostmanager | |
config.vm.provision "shell", args:HOSTNAME, inline: <<-SHELL | |
sudo yum -y clean all | |
sudo yum -y install epel-release | |
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm | |
sudo yum -y update | |
sudo yum -y update kernel | |
sudo yum -y install kernel-devel kernel-headers dkms gcc gcc-c++ | |
# sudo yum install update kernel kernel-devel | |
# Webサーバーインストール | |
sudo yum -y install httpd | |
# PHP関連インストール | |
sudo yum -y install --enablerepo=remi-php80 php | |
sudo yum -y install --enablerepo=remi-php80 php-devel php-mysql php-pdo php-mbstring php-mcrypt php-xml php-gd | |
sudo yum -y install --enablerepo=remi-php80 php-pecl-zip php-opcache php-xmlrpc php-pear php-mysqlnd php-intl | |
sudo yum -y install --enablerepo=remi-php80 php-common | |
sudo yum -y install --enablerepo=remi-php80 php-pecl-xdebug3 | |
# sudo yum -y install --enablerepo=remi-php80 php-dbg | |
sudo yum -y install mariadb mariadb-server | |
sudo yum -y install zip | |
sudo yum -y install wget | |
sudo yum -y install git | |
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" | |
sudo php composer-setup.php | |
sudo php -r "unlink('composer-setup.php');" | |
sudo mv composer.phar /usr/local/bin/composer | |
# 証明書作成 | |
# sudo ssh-keygen -P "" -t rsa -b 4096 -f /root/.ssh/id_rsa | |
sudo yum -y reinstall glibc-common | |
sudo localectl set-locale LANG=ja_JP.UTF-8 | |
sudo localectl set-keymap jp106 | |
# 時刻設定 | |
sudo timedatectl set-timezone Asia/Tokyo | |
# PHP設定 | |
sudo sed -i -e 's|;mbstring.language = Japanese|mbstring.language = Japanese|' /etc/php.ini | |
sudo sed -i -e 's|;mbstring.internal_encoding =|mbstring.internal_encoding = UTF-8|' /etc/php.ini | |
sudo sed -i -e 's|upload_max_filesize = 2M|upload_max_filesize = 16M|' /etc/php.ini | |
sudo sed -i -e 's|;date.timezone =|date.timezone = Asia/Tokyo|' /etc/php.ini | |
# Apache 設定 | |
sudo sed -i -e 's/AllowOverride None/AllowOverride All/g' /etc/httpd/conf/httpd.conf | |
sudo sed -i -e 's/ServerTokens Off/ServerTokens Prod/g' /etc/httpd/conf/httpd.conf | |
# sudo sed -i -e 's/User apache/User vagrant/g' /etc/httpd/conf/httpd.conf | |
# sudo sed -i -e 's/Group apache/Group vagrant/g' /etc/httpd/conf/httpd.conf | |
sudo sed -i -e 's/#ServerName www.example.com:80/ServerName localhost/g' /etc/httpd/conf/httpd.conf | |
sudo sed -i -e 's|SELINUX=enforcing|SELINUX=disabled|' /etc/selinux/config | |
SELINUX=enforcing | |
sudo chown -R apache /var/www/html | |
# sudo chmod 777 /var/lib/php/opcache | |
# sudo chmod 777 /var/lib/php/session | |
# sudo chmod 777 /var/lib/php/wsdlcache | |
sudo systemctl disable firewalld | |
sudo systemctl start mariadb | |
sudo mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql | |
echo ${1} としてサイトを作成しました。 | |
SHELL | |
config.vm.provision "shell", run: "always", inline: <<-COMMAND | |
sudo systemctl restart httpd | |
sudo systemctl restart mariadb | |
COMMAND | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment