premiers tests ok
This commit is contained in:
59
scripts/features/blackfire.sh
Normal file
59
scripts/features/blackfire.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Make sure Blackfire is updated to v2
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/blackfire ] && [ ! -f /usr/bin/blackfire-agent ]
|
||||
then
|
||||
echo "blackfire already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/blackfire
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
curl -fsSL https://packages.blackfire.io/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/blackfire.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/blackfire.gpg] http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list
|
||||
|
||||
# Install Blackfire
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get update
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y blackfire blackfire-php
|
||||
|
||||
agent="[blackfire]
|
||||
ca-cert=
|
||||
collector=https://blackfire.io
|
||||
log-file=stderr
|
||||
log-level=1
|
||||
server-id=${server_id}
|
||||
server-token=${server_token}
|
||||
socket=unix:///var/run/blackfire/agent.sock
|
||||
spec=
|
||||
"
|
||||
|
||||
client="[blackfire]
|
||||
ca-cert=
|
||||
client-id=${client_id}
|
||||
client-token=${client_token}
|
||||
endpoint=https://blackfire.io
|
||||
timeout=15s
|
||||
"
|
||||
|
||||
echo "$agent" > "/etc/blackfire/agent"
|
||||
echo "$client" > "/home/vagrant/.blackfire.ini"
|
||||
|
||||
service php5.6-fpm restart
|
||||
service php7.0-fpm restart
|
||||
service php7.1-fpm restart
|
||||
service php7.2-fpm restart
|
||||
service php7.3-fpm restart
|
||||
service php7.4-fpm restart
|
||||
service php8.0-fpm restart
|
||||
service blackfire-agent restart
|
97
scripts/features/cassandra.sh
Normal file
97
scripts/features/cassandra.sh
Normal file
@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/cassandra ]
|
||||
then
|
||||
echo "cassandra already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/cassandra
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install Cassandra and driver dependencies
|
||||
echo "deb https://debian.cassandra.apache.org 41x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
|
||||
curl https://downloads.apache.org/cassandra/KEYS | sudo apt-key add -
|
||||
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt update
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt install cassandra openjdk-8-jdk git libgmp-dev php7.1-dev php7.2-dev php7.3-dev php7.4-dev -y
|
||||
|
||||
# Start Cassandra and boot at runtime
|
||||
sudo service cassandra start
|
||||
sudo update-rc.d cassandra defaults
|
||||
|
||||
# Install DataStax C++ (required for PHP Extension)
|
||||
wget -q https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.28.0/libuv1-dev_1.28.0-1_amd64.deb
|
||||
wget -q https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.28.0/libuv1_1.28.0-1_amd64.deb
|
||||
wget -q https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.12.0/cassandra-cpp-driver-dev_2.12.0-1_amd64.deb
|
||||
wget -q https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.12.0/cassandra-cpp-driver_2.12.0-1_amd64.deb
|
||||
dpkg -i libuv1_1.28.0-1_amd64.deb
|
||||
dpkg -i libuv1-dev_1.28.0-1_amd64.deb
|
||||
dpkg -i cassandra-cpp-driver_2.12.0-1_amd64.deb
|
||||
dpkg -i cassandra-cpp-driver-dev_2.12.0-1_amd64.deb
|
||||
rm libuv1-dev_1.28.0-1_amd64.deb libuv1_1.28.0-1_amd64.deb cassandra-cpp-driver-dev_2.12.0-1_amd64.deb cassandra-cpp-driver_2.12.0-1_amd64.deb
|
||||
|
||||
# Install PHP Extension
|
||||
cd /usr/src
|
||||
git clone https://github.com/datastax/php-driver.git
|
||||
|
||||
cd /usr/src/php-driver/ext
|
||||
sudo phpize7.1
|
||||
mkdir /usr/src/php-driver/build
|
||||
cd /usr/src/php-driver/build
|
||||
sudo ../ext/configure --with-php-config=/usr/bin/php-config7.1 > /dev/null
|
||||
make clean >/dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo chmod 644 /usr/lib/php/20160303/cassandra.so
|
||||
|
||||
cd /usr/src/php-driver/ext
|
||||
sudo phpize7.2
|
||||
cd /usr/src/php-driver/build
|
||||
sudo /usr/src/php-driver/ext/configure --with-php-config=/usr/bin/php-config7.2 > /dev/null
|
||||
sudo make clean >/dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo chmod 644 /usr/lib/php/20170718/cassandra.so
|
||||
|
||||
cd /usr/src/php-driver/ext
|
||||
sudo phpize7.3
|
||||
cd /usr/src/php-driver/build
|
||||
sudo /usr/src/php-driver/ext/configure --with-php-config=/usr/bin/php-config7.3 > /dev/null
|
||||
sudo make clean >/dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo chmod 644 /usr/lib/php/20180731/cassandra.so
|
||||
|
||||
echo "; configuration for php cassandra module" >/etc/php/7.1/mods-available/cassandra.ini
|
||||
echo "; priority=20" >>/etc/php/7.1/mods-available/cassandra.ini
|
||||
echo "extension=cassandra.so" >>/etc/php/7.1/mods-available/cassandra.ini
|
||||
|
||||
echo "; configuration for php cassandra module" >/etc/php/7.2/mods-available/cassandra.ini
|
||||
echo "; priority=20" >>/etc/php/7.2/mods-available/cassandra.ini
|
||||
echo "extension=cassandra.so" >>/etc/php/7.2/mods-available/cassandra.ini
|
||||
|
||||
echo "; configuration for php cassandra module" >/etc/php/7.3/mods-available/cassandra.ini
|
||||
echo "; priority=20" >>/etc/php/7.3/mods-available/cassandra.ini
|
||||
echo "extension=cassandra.so" >>/etc/php/7.3/mods-available/cassandra.ini
|
||||
|
||||
sudo phpenmod cassandra
|
||||
|
||||
# Clean Up
|
||||
sudo rm -R /usr/src/php-driver
|
||||
|
||||
# Just in case other Java versions exist, set JAVA_HOME, because Cassandra doesn't work with newer
|
||||
# Java versions than Java 8
|
||||
echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" | sudo tee -a /etc/default/cassandra
|
||||
sudo service cassandra stop
|
||||
sudo service cassandra start
|
30
scripts/features/chronograf.sh
Normal file
30
scripts/features/chronograf.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/chronograf ]
|
||||
then
|
||||
echo "chronograf already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/chronograf
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
chronourl="https://dl.influxdata.com/chronograf/releases/chronograf_1.5.0.1_amd64.deb"
|
||||
|
||||
wget -q -O chronograf.deb $chronourl
|
||||
sudo dpkg -i chronograf.deb
|
||||
rm chronograf.deb
|
||||
|
||||
systemctl enable chronograf
|
||||
systemctl daemon-reload
|
||||
systemctl start chronograf
|
47
scripts/features/couchdb.sh
Normal file
47
scripts/features/couchdb.sh
Normal file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/couchdb ]
|
||||
then
|
||||
echo "couchdb already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/couchdb
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
curl -fsSL https://couchdb.apache.org/repo/keys.asc | sudo gpg --dearmor -o /etc/apt/keyrings/couchdb.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/couchdb.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ jammy main" | sudo tee /etc/apt/sources.list.d/couchdb.list
|
||||
|
||||
sudo apt-get update
|
||||
echo "couchdb couchdb/mode select standalone
|
||||
couchdb couchdb/mode seen true
|
||||
couchdb couchdb/bindaddress string 127.0.0.1
|
||||
couchdb couchdb/bindaddress seen true" | debconf-set-selections
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y couchdb
|
||||
|
||||
sudo chown -R couchdb:couchdb /etc/couchdb
|
||||
sudo chmod -R 0770 /etc/couchdb
|
||||
|
||||
sudo sed -i "s/;bind_address =.*/bind_address = 0.0.0.0/" /opt/couchdb/etc/local.ini
|
||||
|
||||
sudo service couchdb restart
|
||||
|
||||
sudo service nginx restart
|
||||
|
||||
sudo service php5.6-fpm restart
|
||||
sudo service php7.0-fpm restart
|
||||
sudo service php7.1-fpm restart
|
||||
sudo service php7.2-fpm restart
|
||||
sudo service php7.3-fpm restart
|
||||
sudo service php7.4-fpm restart
|
||||
sudo service php8.0-fpm restart
|
39
scripts/features/crystal.sh
Normal file
39
scripts/features/crystal.sh
Normal file
@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/crystal ]
|
||||
then
|
||||
echo "crystal already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/crystal
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install Crystal Programming Language Support
|
||||
curl -fsSL https://keybase.io/crystal/pgp_keys.asc | sudo gpg --dearmor -o /etc/apt/keyrings/crystal.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/crystal.gpg] https://dist.crystal-lang.org/apt crystal main" | sudo tee /etc/apt/sources.list.d/crystal.list
|
||||
|
||||
apt-get update
|
||||
apt-get install -y crystal
|
||||
|
||||
# Install Lucky Framework for Crystal
|
||||
|
||||
wget https://github.com/luckyframework/lucky_cli/archive/v0.11.0.tar.gz
|
||||
tar -zxvf v0.11.0.tar.gz
|
||||
cd lucky_cli-0.11.0
|
||||
shards install
|
||||
crystal build src/lucky.cr --release --no-debug
|
||||
mv lucky /usr/local/bin/.
|
||||
cd /home/vagrant
|
||||
rm -rf lucky_cli-0.11.0
|
||||
rm -rf v0.11.0.tar.gz
|
23
scripts/features/dockstead.sh
Normal file
23
scripts/features/dockstead.sh
Normal file
@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/dockstead ]
|
||||
then
|
||||
echo "dockstead already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/dockstead
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Ensure we're in swarm mode
|
||||
docker swarm init --advertise-addr 192.168.56.56
|
5
scripts/features/dockstead/env.docker
Normal file
5
scripts/features/dockstead/env.docker
Normal file
@ -0,0 +1,5 @@
|
||||
# Mysql Parameters
|
||||
MYSQL_ROOT_PASSWORD=secret
|
||||
MYSQL_DATABASE=homestead
|
||||
MYSQL_USER=homestead
|
||||
MYSQL_PASSWORD=secret
|
25
scripts/features/dockstead/mysql-5.7.yaml
Normal file
25
scripts/features/dockstead/mysql-5.7.yaml
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
#
|
||||
# docker stack deploy -c /vagrant/scripts/features/dockstead/mysql-5.7.yaml mysql-56
|
||||
#
|
||||
version: "3.7"
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
volumes:
|
||||
- type: volume
|
||||
source: mysql-data
|
||||
target: /var/lib/mysql
|
||||
volume:
|
||||
nocopy: true
|
||||
ports:
|
||||
- "3306:3306"
|
||||
healthcheck:
|
||||
test: mysqladmin ping -h 127.0.0.1 -u $$MYSQL_USER --password=$$MYSQL_PASSWORD
|
||||
interval: 3s
|
||||
timeout: 1s
|
||||
retries: 5
|
||||
env_file:
|
||||
- env.docker
|
||||
volumes:
|
||||
mysql-data:
|
12
scripts/features/dockstead/mysql-57.sh
Normal file
12
scripts/features/dockstead/mysql-57.sh
Normal file
@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Stop the default MySQL Service
|
||||
sudo service mysql stop
|
||||
|
||||
# Update /home/vagrant/.my.cnf
|
||||
sed -i "s/localhost/127.0.0.1/" /home/vagrant/.my.cnf
|
||||
|
||||
# Start the MySQL 5.7 stack
|
||||
docker stack deploy -c /vagrant/scripts/features/dockstead/mysql-5.7.yaml mysql-57
|
||||
echo "Sleeping for 30 seconds while we wait for MySQL service to come up"
|
||||
sleep 30
|
59
scripts/features/dragonflydb.sh
Normal file
59
scripts/features/dragonflydb.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/dragonflydb ]; then
|
||||
echo "Dragonflydb already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ARCH=$(arch)
|
||||
DRAGONFLY_URL="https://dragonflydb.gateway.scarf.sh/latest/dragonfly-$ARCH.tar.gz"
|
||||
|
||||
# Install Dragonfly
|
||||
if ! curl -sSL "$DRAGONFLY_URL" -o dragonflydb.tar.gz; then
|
||||
echo "Error downloading Dragonfly archive."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! tar -xzf dragonflydb.tar.gz "dragonfly-$ARCH"; then
|
||||
echo "Error extracting Dragonfly archive."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mv "dragonfly-$ARCH" /usr/local/bin/dragonfly
|
||||
|
||||
# Create systemd service file
|
||||
cat > /etc/systemd/system/dragonfly.service << EOF
|
||||
[Unit]
|
||||
Description=DragonFly
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=vagrant
|
||||
ExecStart=/usr/bin/env /usr/local/bin/dragonfly
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# Disable and stop redis
|
||||
systemctl disable --now redis-server
|
||||
|
||||
# Enable and start dragonfly
|
||||
systemctl enable --now dragonfly
|
||||
|
||||
# Clean up
|
||||
rm -rf dragonflydb.tar.gz
|
||||
|
||||
# Mark installation as complete
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/dragonflydb
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
62
scripts/features/elasticsearch.sh
Normal file
62
scripts/features/elasticsearch.sh
Normal file
@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/elasticsearch ]
|
||||
then
|
||||
echo "Elasticsearch already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/elasticsearch
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Determine version from config
|
||||
|
||||
set -- "$1"
|
||||
IFS=".";
|
||||
|
||||
if [ -z "${version}" ]; then
|
||||
installVersion="" # by not specifying we'll install latest
|
||||
majorVersion="7" # default to version 7
|
||||
else
|
||||
installVersion="=$version"
|
||||
majorVersion="$(echo $version | head -c 1)"
|
||||
fi
|
||||
|
||||
|
||||
echo "Elasticsearch installVersion: $installVersion"
|
||||
echo "Elasticsearch majorVersion: $majorVersion"
|
||||
|
||||
|
||||
# Install Java & Elasticsearch
|
||||
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /etc/apt/keyrings/elasticsearch.gpg
|
||||
|
||||
if [ ! -f /etc/apt/sources.list.d/elastic-$majorVersion.x.list ]; then
|
||||
echo "deb [signed-by=/etc/apt/keyrings/elasticsearch.gpg] https://artifacts.elastic.co/packages/$majorVersion.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-$majorVersion.x.list
|
||||
fi
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install openjdk-11-jre
|
||||
sudo apt-get -y install elasticsearch"$installVersion"
|
||||
|
||||
# Start Elasticsearch on boot
|
||||
|
||||
sudo update-rc.d elasticsearch defaults 95 10
|
||||
|
||||
# Update configuration to use 'homestead' as the cluster
|
||||
|
||||
sudo sed -i "s/#cluster.name: my-application/cluster.name: homestead/" /etc/elasticsearch/elasticsearch.yml
|
||||
|
||||
# Enable Start Elasticsearch
|
||||
|
||||
sudo systemctl enable elasticsearch.service
|
||||
sudo service elasticsearch start
|
54
scripts/features/eventstore.sh
Normal file
54
scripts/features/eventstore.sh
Normal file
@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/eventstore ]
|
||||
then
|
||||
echo "eventstore already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/eventstore
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Determine wanted version from config
|
||||
set -- "$1"
|
||||
IFS=".";
|
||||
|
||||
if [ -z "${version}" ]; then
|
||||
installVersion="" # by not specifying we'll install latest
|
||||
else
|
||||
installVersion="=${version}"
|
||||
fi
|
||||
|
||||
# Install repository
|
||||
curl -s https://packagecloud.io/install/repositories/EventStore/EventStore-OSS/script.deb.sh | bash
|
||||
|
||||
# Install EventStore package
|
||||
apt-get install -y eventstore-oss"$installVersion"
|
||||
|
||||
# Update configuration
|
||||
sed -i "s/RunProjections: None/RunProjections: ${run_projections:-All}/" /etc/eventstore/eventstore.conf
|
||||
|
||||
configuration="
|
||||
extIp: ${external_ip:-0.0.0.0}
|
||||
extTcpPort: ${external_tcp_port:-2112}
|
||||
extHttpPort: ${external_http_port:-2113}
|
||||
AdminOnExt: ${admin_on_ext:-true}
|
||||
"
|
||||
echo "$configuration" >> /etc/eventstore/eventstore.conf
|
||||
|
||||
# Allow the Event Store executable to bind to a port lower than 1024
|
||||
setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/eventstored
|
||||
|
||||
# Enable and Start EventStore
|
||||
systemctl enable eventstore.service
|
||||
systemctl start eventstore.service
|
27
scripts/features/flyway.sh
Normal file
27
scripts/features/flyway.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/flyway ]
|
||||
then
|
||||
echo "flyway CLI already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/flyway
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install Flyway
|
||||
wget https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/4.2.0/flyway-commandline-4.2.0-linux-x64.tar.gz
|
||||
tar -zxvf flyway-commandline-4.2.0-linux-x64.tar.gz -C /usr/local
|
||||
chmod +x /usr/local/flyway-4.2.0/flyway
|
||||
ln -s /usr/local/flyway-4.2.0/flyway /usr/local/bin/flyway
|
||||
rm -rf flyway-commandline-4.2.0-linux-x64.tar.gz
|
28
scripts/features/gearman.sh
Normal file
28
scripts/features/gearman.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/gearman ]
|
||||
then
|
||||
echo "gearman already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/gearman
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install Gearman Job Server and PHP Extension
|
||||
sudo apt-get update
|
||||
sudo apt-get install gearman-job-server php-gearman -y
|
||||
|
||||
# Listen on 0.0.0.0
|
||||
sudo sed -i 's/localhost/0.0.0.0/g' /etc/default/gearman-job-server
|
||||
sudo service gearman-job-server restart
|
35
scripts/features/golang.sh
Normal file
35
scripts/features/golang.sh
Normal file
@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/golang ]
|
||||
then
|
||||
echo "Golang already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/golang
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
ARCH=$(arch)
|
||||
|
||||
# Install Golang
|
||||
if [[ "$ARCH" == "aarch64" ]]; then
|
||||
GOLANG_LATEST_STABLE_VERSION=$(curl https://go.dev/dl/?mode=json | grep -o 'go.*.linux-arm64.tar.gz' | head -n 1 | tr -d '\r\n')
|
||||
wget https://dl.google.com/go/${GOLANG_LATEST_STABLE_VERSION} -O golang.tar.gz
|
||||
else
|
||||
GOLANG_LATEST_STABLE_VERSION=$(curl https://go.dev/dl/?mode=json | grep -o 'go.*.linux-amd64.tar.gz' | head -n 1 | tr -d '\r\n')
|
||||
wget https://dl.google.com/go/${GOLANG_LATEST_STABLE_VERSION} -O golang.tar.gz
|
||||
fi
|
||||
|
||||
tar -C /usr/local -xzf golang.tar.gz go
|
||||
printf "\nPATH=\"/usr/local/go/bin:\$PATH\"\n" | tee -a /home/vagrant/.profile
|
||||
rm -rf golang.tar.gz
|
30
scripts/features/grafana.sh
Normal file
30
scripts/features/grafana.sh
Normal file
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/grafana ]
|
||||
then
|
||||
echo "grafana already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/grafana
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
curl -fsSL https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/grafana.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
|
||||
|
||||
apt-get update -y
|
||||
apt-get install -y grafana
|
||||
|
||||
systemctl enable grafana-server
|
||||
systemctl daemon-reload
|
||||
systemctl start grafana-server
|
23
scripts/features/heroku.sh
Normal file
23
scripts/features/heroku.sh
Normal file
@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/heroku ]
|
||||
then
|
||||
echo "Heroku CLI already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/heroku
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install Heroku CLI
|
||||
curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
|
42
scripts/features/influxdb.sh
Normal file
42
scripts/features/influxdb.sh
Normal file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/influxdb ]
|
||||
then
|
||||
echo "influxdb already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
# InfluxDB v2.7.5 - from https://www.influxdata.com/downloads/
|
||||
# influxdata-archive_compat.key GPG fingerprint:
|
||||
# 9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E
|
||||
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
|
||||
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
|
||||
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
|
||||
|
||||
apt-get update
|
||||
apt-get install -y influxdb2
|
||||
|
||||
systemctl enable --now influxdb
|
||||
|
||||
influx setup \
|
||||
--force \
|
||||
--username "homestead" \
|
||||
--password "secretkey" \
|
||||
--org "homestead" \
|
||||
--bucket "homestead" \
|
||||
--name "homestead" \
|
||||
--token "homestead_secret"
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/influxdb
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
53
scripts/features/logstash.sh
Normal file
53
scripts/features/logstash.sh
Normal file
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/logstash ]
|
||||
then
|
||||
echo "logstash already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/logstash
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Determine version from config
|
||||
|
||||
set -- "$1"
|
||||
IFS=".";
|
||||
|
||||
if [ -z "${version}" ]; then
|
||||
installVersion="" # by not specifying we'll install latest
|
||||
majorVersion="7" # default to version 7
|
||||
else
|
||||
installVersion="=$version"
|
||||
majorVersion="$(echo $version | head -c 1)"
|
||||
fi
|
||||
|
||||
|
||||
echo "Logstash installVersion: $installVersion"
|
||||
echo "Logstash majorVersion: $majorVersion"
|
||||
|
||||
|
||||
# Install Java & Logstash
|
||||
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /etc/apt/keyrings/elasticsearch.gpg
|
||||
|
||||
if [ ! -f /etc/apt/sources.list.d/elastic-$majorVersion.x.list ]; then
|
||||
echo "deb [signed-by=/etc/apt/keyrings/elasticsearch.gpg] https://artifacts.elastic.co/packages/$majorVersion.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-$majorVersion.x.list
|
||||
fi
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install openjdk-11-jre
|
||||
sudo apt-get -y install logstash"$installVersion"
|
||||
|
||||
# Enable Start Elasticsearch
|
||||
|
||||
sudo systemctl enable --now logstash.service
|
82
scripts/features/mariadb.sh
Normal file
82
scripts/features/mariadb.sh
Normal file
@ -0,0 +1,82 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/mariadb ]; then
|
||||
echo "MariaDB already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/mariadb
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Disable Apparmor
|
||||
# See https://github.com/laravel/homestead/issues/629#issue-247524528
|
||||
service apparmor stop
|
||||
update-rc.d -f apparmor remove
|
||||
|
||||
# Remove MySQL
|
||||
apt-get -o Dpkg::Options::="--force-confnew" remove -y --purge mysql-server mysql-client
|
||||
apt-get autoremove -y
|
||||
apt-get autoclean
|
||||
|
||||
rm -rf /var/lib/mysql/*
|
||||
rm -rf /var/log/mysql
|
||||
rm -rf /etc/mysql
|
||||
|
||||
# Determine version from config
|
||||
set -- "$1"
|
||||
IFS="."
|
||||
|
||||
# Add Maria PPA
|
||||
if [ -z "${version}" ]; then
|
||||
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
|
||||
else
|
||||
curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
|
||||
sudo bash mariadb_repo_setup --mariadb-server-version="$version"
|
||||
echo "MariaDB specific target version : $version"
|
||||
fi
|
||||
|
||||
debconf-set-selections <<< "mariadb-server mysql-server/data-dir select ''"
|
||||
debconf-set-selections <<< "mariadb-server mysql-server/root_password password secret"
|
||||
debconf-set-selections <<< "mariadb-server mysql-server/root_password_again password secret"
|
||||
mkdir /etc/mysql
|
||||
touch /etc/mysql/debian.cnf
|
||||
|
||||
# Install MariaDB
|
||||
apt-get -o Dpkg::Options::="--force-confnew" install -y mariadb-server mariadb-client mysql-common
|
||||
|
||||
# Configure Maria Remote Access and ignore db dirs
|
||||
sed -i "s/bind-address = 127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||
cat > /etc/mysql/mariadb.conf.d/50-server.cnf << EOF
|
||||
[mysqld]
|
||||
bind-address = 0.0.0.0
|
||||
ignore-db-dir = lost+found
|
||||
#general_log
|
||||
#general_log_file=/var/log/mysql/mariadb.log
|
||||
EOF
|
||||
|
||||
export MYSQL_PWD=secret
|
||||
|
||||
mariadb --user="root" --password="secret" -h localhost -e "GRANT ALL ON *.* TO root@'localhost' IDENTIFIED BY 'secret' WITH GRANT OPTION;"
|
||||
mariadb --user="root" --password="secret" -h localhost -e "GRANT ALL ON *.* TO root@'0.0.0.0' IDENTIFIED BY 'secret' WITH GRANT OPTION;"
|
||||
service mariadb restart
|
||||
|
||||
mariadb --user="root" --password="secret" -h localhost -e "CREATE USER IF NOT EXISTS 'homestead'@'0.0.0.0' IDENTIFIED BY 'secret';"
|
||||
mariadb --user="root" --password="secret" -h localhost -e "GRANT ALL ON *.* TO 'homestead'@'0.0.0.0' IDENTIFIED BY 'secret' WITH GRANT OPTION;"
|
||||
mariadb --user="root" --password="secret" -h localhost -e "GRANT ALL ON *.* TO 'homestead'@'%' IDENTIFIED BY 'secret' WITH GRANT OPTION;"
|
||||
mariadb --user="root" --password="secret" -h localhost -e "FLUSH PRIVILEGES;"
|
||||
service mariadb restart
|
||||
|
||||
mariadb-upgrade --user="root" --verbose --force
|
||||
service mariadb restart
|
||||
|
||||
unset MYSQL_PWD
|
45
scripts/features/meilisearch.sh
Normal file
45
scripts/features/meilisearch.sh
Normal file
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/meilisearch ]
|
||||
then
|
||||
echo "meilisearch already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/meilisearch
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# add the sources for meilisearch
|
||||
curl -L https://install.meilisearch.com | sh
|
||||
mv ./meilisearch /usr/bin/
|
||||
|
||||
# Create a service file
|
||||
cat > /etc/systemd/system/meilisearch.service << EOF
|
||||
[Unit]
|
||||
Description=MeiliSearch
|
||||
After=systemd-user-sessions.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/meilisearch --http-addr '0.0.0.0:7700'
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
EOF
|
||||
|
||||
# Set the service meilisearch
|
||||
systemctl daemon-reload
|
||||
systemctl enable meilisearch
|
||||
|
||||
# Start the meilisearch service
|
||||
systemctl start meilisearch
|
68
scripts/features/minio.sh
Normal file
68
scripts/features/minio.sh
Normal file
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/minio ]
|
||||
then
|
||||
echo "minio already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ARCH=$(arch)
|
||||
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/minio
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
if [[ "$ARCH" == "aarch64" ]]; then
|
||||
curl -sO https://dl.minio.io/server/minio/release/linux-arm64/minio
|
||||
else
|
||||
curl -sO https://dl.minio.io/server/minio/release/linux-amd64/minio
|
||||
fi
|
||||
|
||||
sudo chmod +x minio
|
||||
sudo mv minio /usr/local/bin
|
||||
sudo useradd -r minio-user -s /sbin/nologin
|
||||
sudo mkdir /usr/local/share/minio
|
||||
sudo mkdir /etc/minio
|
||||
|
||||
cat <<EOT >> /etc/default/minio
|
||||
# Local export path.
|
||||
MINIO_VOLUMES="/usr/local/share/minio/"
|
||||
# Use if you want to run Minio on a custom port.
|
||||
MINIO_OPTS="--config-dir /etc/minio --address :9600 --console-address :9601"
|
||||
MINIO_CONFIG_ENV_FILE=/etc/default/minio
|
||||
MINIO_ROOT_USER=homestead
|
||||
MINIO_ROOT_PASSWORD=secretkey
|
||||
|
||||
EOT
|
||||
|
||||
sudo chown minio-user:minio-user /usr/local/share/minio
|
||||
sudo chown minio-user:minio-user /etc/minio
|
||||
|
||||
curl -sO https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
|
||||
sudo mv minio.service /etc/systemd/system
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable minio
|
||||
sudo systemctl start minio
|
||||
|
||||
sudo ufw allow 9600
|
||||
|
||||
# Installing Minio Client
|
||||
if [[ "$ARCH" == "aarch64" ]]; then
|
||||
curl -sO https://dl.minio.io/client/mc/release/linux-arm64/mc
|
||||
else
|
||||
curl -sO https://dl.minio.io/client/mc/release/linux-amd64/mc
|
||||
fi
|
||||
|
||||
chmod +x mc
|
||||
sudo mv mc /usr/local/bin
|
||||
mc config host add homestead http://127.0.1.1:9600 homestead secretkey
|
164
scripts/features/mongodb.sh
Normal file
164
scripts/features/mongodb.sh
Normal file
@ -0,0 +1,164 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/mongodb ]
|
||||
then
|
||||
echo "MongoDB already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ARCH=$(arch)
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/mongodb
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /etc/apt/keyrings/mongodb.gpg
|
||||
if [[ "$ARCH" == "aarch64" ]]; then
|
||||
echo "deb [signed-by=/etc/apt/keyrings/mongodb.gpg arch=arm64] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
|
||||
else
|
||||
echo "deb [signed-by=/etc/apt/keyrings/mongodb.gpg arch=amd64] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
|
||||
fi
|
||||
|
||||
sudo apt-get update
|
||||
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confnew" install mongodb-org autoconf g++ make openssl libssl-dev libcurl4-openssl-dev pkg-config libsasl2-dev php-dev
|
||||
|
||||
sudo ufw allow 27017
|
||||
sudo sed -i "s/bindIp: .*/bindIp: 0.0.0.0/" /etc/mongod.conf
|
||||
|
||||
sudo systemctl enable mongod
|
||||
sudo systemctl start mongod
|
||||
|
||||
sudo rm -rf /tmp/mongo-php-driver /usr/src/mongo-php-driver
|
||||
git clone -c advice.detachedHead=false -q -b '1.16.2' --single-branch https://github.com/mongodb/mongo-php-driver.git /tmp/mongo-php-driver
|
||||
sudo mv /tmp/mongo-php-driver /usr/src/mongo-php-driver
|
||||
cd /usr/src/mongo-php-driver
|
||||
git submodule -q update --init
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php56 ]
|
||||
then
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confold" install php5.6-dev
|
||||
phpize5.6
|
||||
./configure --with-php-config=/usr/bin/php-config5.6 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/5.6/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/5.6/mods-available/mongo.ini /etc/php/5.6/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/5.6/mods-available/mongo.ini /etc/php/5.6/fpm/conf.d/20-mongo.ini
|
||||
sudo service php5.6-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php70 ]
|
||||
then
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confold" install php7.0-dev
|
||||
phpize7.0
|
||||
./configure --with-php-config=/usr/bin/php-config7.0 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/7.0/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/7.0/mods-available/mongo.ini /etc/php/7.0/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/7.0/mods-available/mongo.ini /etc/php/7.0/fpm/conf.d/20-mongo.ini
|
||||
sudo service php7.0-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php71 ]
|
||||
then
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confold" install php7.1-dev
|
||||
phpize7.1
|
||||
./configure --with-php-config=/usr/bin/php-config7.1 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/7.1/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/7.1/mods-available/mongo.ini /etc/php/7.1/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/7.1/mods-available/mongo.ini /etc/php/7.1/fpm/conf.d/20-mongo.ini
|
||||
sudo service php7.1-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php72 ]
|
||||
then
|
||||
phpize7.2
|
||||
./configure --with-php-config=/usr/bin/php-config7.2 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/7.2/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/7.2/mods-available/mongo.ini /etc/php/7.2/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/7.2/mods-available/mongo.ini /etc/php/7.2/fpm/conf.d/20-mongo.ini
|
||||
sudo service php7.2-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php73 ]
|
||||
then
|
||||
phpize7.3
|
||||
./configure --with-php-config=/usr/bin/php-config7.3 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/7.3/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/7.3/mods-available/mongo.ini /etc/php/7.3/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/7.3/mods-available/mongo.ini /etc/php/7.3/fpm/conf.d/20-mongo.ini
|
||||
sudo service php7.3-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php74 ]
|
||||
then
|
||||
phpize7.4
|
||||
./configure --with-php-config=/usr/bin/php-config7.4 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/7.4/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/7.4/mods-available/mongo.ini /etc/php/7.4/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/7.4/mods-available/mongo.ini /etc/php/7.4/fpm/conf.d/20-mongo.ini
|
||||
sudo service php7.4-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php80 ]
|
||||
then
|
||||
phpize8.0
|
||||
./configure --with-php-config=/usr/bin/php-config8.0 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/8.0/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/8.0/mods-available/mongo.ini /etc/php/8.0/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/8.0/mods-available/mongo.ini /etc/php/8.0/fpm/conf.d/20-mongo.ini
|
||||
sudo service php8.0-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php81 ]
|
||||
then
|
||||
phpize8.1
|
||||
./configure --with-php-config=/usr/bin/php-config8.1 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/8.1/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/8.1/mods-available/mongo.ini /etc/php/8.1/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/8.1/mods-available/mongo.ini /etc/php/8.1/fpm/conf.d/20-mongo.ini
|
||||
sudo service php8.1-fpm restart
|
||||
fi
|
||||
|
||||
phpize8.2
|
||||
./configure --with-php-config=/usr/bin/php-config8.2 > /dev/null
|
||||
make clean > /dev/null
|
||||
make >/dev/null 2>&1
|
||||
sudo make install
|
||||
sudo bash -c "echo 'extension=mongodb.so' > /etc/php/8.2/mods-available/mongo.ini"
|
||||
sudo ln -s /etc/php/8.2/mods-available/mongo.ini /etc/php/8.2/cli/conf.d/20-mongo.ini
|
||||
sudo ln -s /etc/php/8.2/mods-available/mongo.ini /etc/php/8.2/fpm/conf.d/20-mongo.ini
|
||||
sudo service php8.2-fpm restart
|
||||
|
||||
mongosh admin --eval "db.createUser({user:'homestead',pwd:'secret',roles:['root']})"
|
53
scripts/features/neo4j.sh
Normal file
53
scripts/features/neo4j.sh
Normal file
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/neo4j ]
|
||||
then
|
||||
echo "neo4j already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/neo4j
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
|
||||
echo 'deb https://debian.neo4j.com stable latest' | sudo tee /etc/apt/sources.list.d/neo4j.list
|
||||
|
||||
apt-get update
|
||||
|
||||
# Install Neo4j Community Edition
|
||||
apt-get install -y neo4j
|
||||
|
||||
# Stop Neo4j for configuration
|
||||
systemctl stop neo4j
|
||||
|
||||
# Configure Neo4j Remote Access
|
||||
sed -i "s/#dbms.connectors.default_listen_address=0.0.0.0/dbms.connectors.default_listen_address=0.0.0.0/" /etc/neo4j/neo4j.conf
|
||||
|
||||
# Enable Neo4j as system service
|
||||
systemctl enable neo4j
|
||||
systemctl start neo4j
|
||||
|
||||
# Poll Neo4j
|
||||
end="$((SECONDS+60))"
|
||||
while true; do
|
||||
nc -w 2 localhost 7687 && break
|
||||
[[ "${SECONDS}" -ge "${end}" ]] && exit 1
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# Add new Neo4j user
|
||||
cypher-shell -u neo4j -p neo4j "CALL dbms.changePassword('secret');"
|
||||
cypher-shell -u neo4j -p secret "CALL dbms.security.createUser('homestead', 'secret', false);"
|
||||
|
||||
# Delete default Neo4j user
|
||||
cypher-shell -u homestead -p secret "CALL dbms.security.deleteUser('neo4j');"
|
39
scripts/features/ohmyzsh.sh
Normal file
39
scripts/features/ohmyzsh.sh
Normal file
@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/oh-my-zsh ]
|
||||
then
|
||||
echo "oh-my-zsh already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/oh-my-zsh
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install oh-my-zsh
|
||||
git clone https://github.com/ohmyzsh/ohmyzsh.git /home/vagrant/.oh-my-zsh
|
||||
cp /home/vagrant/.oh-my-zsh/templates/zshrc.zsh-template /home/vagrant/.zshrc
|
||||
|
||||
# Set theme and plugins according to config
|
||||
if [ -n "${theme}" ]; then
|
||||
sed -i "s/^ZSH_THEME=.*/ZSH_THEME=\"${theme}\"/" /home/vagrant/.zshrc
|
||||
fi
|
||||
if [ -n "${plugins}" ]; then
|
||||
sed -i "s/^plugins=.*/plugins=(${plugins})/" /home/vagrant/.zshrc
|
||||
fi
|
||||
|
||||
printf "\nemulate sh -c 'source ~/.bash_aliases'\n" | tee -a /home/vagrant/.zprofile
|
||||
printf "\nemulate sh -c 'source ~/.profile'\n" | tee -a /home/vagrant/.zprofile
|
||||
chown -R vagrant:vagrant /home/vagrant/.oh-my-zsh
|
||||
chown vagrant:vagrant /home/vagrant/.zshrc
|
||||
chown vagrant:vagrant /home/vagrant/.zprofile
|
||||
chsh -s /bin/zsh vagrant
|
34
scripts/features/openresty.sh
Normal file
34
scripts/features/openresty.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/openresty ]
|
||||
then
|
||||
echo "openresty already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/openresty
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install Openresty
|
||||
curl -fsSL https://openresty.org/package/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/openresty.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/openresty.gpg] http://openresty.org/package/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/openresty.list
|
||||
|
||||
sudo apt-get update
|
||||
sudo service nginx stop
|
||||
sudo apt-get install -y openresty
|
||||
sudo sed -i "s/listen\s*80;/listen\ 8888;/g" /etc/openresty/nginx.conf
|
||||
|
||||
# Start Openresty
|
||||
|
||||
sudo service openresty restart
|
||||
sudo service nginx start
|
74
scripts/features/php5.6.sh
Normal file
74
scripts/features/php5.6.sh
Normal file
@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php5.6-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php5.6-fpm
|
||||
service php5.6-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php56 ]
|
||||
then
|
||||
echo "PHP 5.6 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php56
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 5.6
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php5.6-bcmath php5.6-bz2 php5.6-cgi php5.6-cli php5.6-common php5.6-curl php5.6-dba php5.6-dev php5.6-enchant \
|
||||
php5.6-fpm php5.6-gd php5.6-gmp php5.6-imap php5.6-interbase php5.6-intl php5.6-json php5.6-ldap php5.6-mbstring \
|
||||
php5.6-mcrypt php5.6-mysql php5.6-odbc php5.6-opcache php5.6-pgsql php5.6-phpdbg php5.6-pspell php5.6-readline \
|
||||
php5.6-recode php5.6-snmp php5.6-soap php5.6-sqlite3 php5.6-sybase php5.6-tidy php5.6-xml php5.6-xmlrpc php5.6-xsl \
|
||||
php5.6-zip php5.6-memcached php5.6-redis
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/5.6/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/5.6/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/5.6/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/5.6/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.remote_enable = 1" >> /etc/php/5.6/mods-available/xdebug.ini
|
||||
echo "xdebug.remote_connect_back = 1" >> /etc/php/5.6/mods-available/xdebug.ini
|
||||
echo "xdebug.remote_port = 9000" >> /etc/php/5.6/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/5.6/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/5.6/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/5.6/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/5.6/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/5.6/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/5.6/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/5.6/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/5.6/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/5.6/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/5.6/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/5.6/fpm/php.ini
|
||||
|
||||
printf "[curl]\n" | tee -a /etc/php/5.6/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/5.6/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/5.6/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/5.6/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/5.6/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/5.6/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/5.6/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php5.6-fpm
|
||||
service php5.6-fpm restart
|
73
scripts/features/php7.0.sh
Normal file
73
scripts/features/php7.0.sh
Normal file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php7.0-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php7.0-fpm
|
||||
service php7.0-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php70 ]
|
||||
then
|
||||
echo "PHP 7.0 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php70
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 7.0
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php7.0-bcmath php7.0-bz2 php7.0-cgi php7.0-cli php7.0-common php7.0-curl php7.0-dba php7.0-dev php7.0-enchant \
|
||||
php7.0-fpm php7.0-gd php7.0-gmp php7.0-imap php7.0-interbase php7.0-intl php7.0-json php7.0-ldap php7.0-mbstring \
|
||||
php7.0-mcrypt php7.0-mysql php7.0-odbc php7.0-opcache php7.0-pgsql php7.0-phpdbg php7.0-pspell php7.0-readline \
|
||||
php7.0-recode php7.0-snmp php7.0-soap php7.0-sqlite3 php7.0-sybase php7.0-tidy php7.0-xml php7.0-xmlrpc php7.0-xsl \
|
||||
php7.0-zip php7.0-memcached php7.0-redis
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.0/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.0/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.remote_enable = 1" >> /etc/php/7.0/mods-available/xdebug.ini
|
||||
echo "xdebug.remote_connect_back = 1" >> /etc/php/7.0/mods-available/xdebug.ini
|
||||
echo "xdebug.remote_port = 9000" >> /etc/php/7.0/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/7.0/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/7.0/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.0/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.0/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.0/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/7.0/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/7.0/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/7.0/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.0/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/7.0/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.0/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/7.0/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/7.0/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/7.0/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/7.0/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/7.0/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php7.0-fpm
|
||||
service php7.0-fpm restart
|
73
scripts/features/php7.1.sh
Normal file
73
scripts/features/php7.1.sh
Normal file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php7.1-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php7.1-fpm
|
||||
service php7.1-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php71 ]
|
||||
then
|
||||
echo "PHP 7.1 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php71
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 7.1
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php7.1-bcmath php7.1-bz2 php7.1-cgi php7.1-cli php7.1-common php7.1-curl php7.1-dba php7.1-dev php7.1-enchant \
|
||||
php7.1-fpm php7.1-gd php7.1-gmp php7.1-imap php7.1-interbase php7.1-intl php7.1-json php7.1-ldap php7.1-mbstring \
|
||||
php7.1-mcrypt php7.1-mysql php7.1-odbc php7.1-opcache php7.1-pgsql php7.1-phpdbg php7.1-pspell php7.1-readline \
|
||||
php7.1-recode php7.1-snmp php7.1-soap php7.1-sqlite3 php7.1-sybase php7.1-tidy php7.1-xdebug php7.1-xml php7.1-xmlrpc \
|
||||
php7.1-xsl php7.1-zip php7.1-memcached php7.1-redis
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.1/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.1/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.1/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.1/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.remote_enable = 1" >> /etc/php/7.1/mods-available/xdebug.ini
|
||||
echo "xdebug.remote_connect_back = 1" >> /etc/php/7.1/mods-available/xdebug.ini
|
||||
echo "xdebug.remote_port = 9000" >> /etc/php/7.1/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/7.1/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/7.1/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.1/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.1/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.1/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.1/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/7.1/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/7.1/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.1/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/7.1/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.1/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/7.1/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.1/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/7.1/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/7.1/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/7.1/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/7.1/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/7.1/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php7.1-fpm
|
||||
service php7.1-fpm restart
|
74
scripts/features/php7.2.sh
Normal file
74
scripts/features/php7.2.sh
Normal file
@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php7.2-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php7.2-fpm
|
||||
service php7.2-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php72 ]
|
||||
then
|
||||
echo "PHP 7.2 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php72
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 7.2
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php7.2-bcmath php7.2-bz2 php7.2-dba php7.2-enchant php7.2-fpm php7.2-imap php7.2-interbase php7.2-intl \
|
||||
php7.2-mbstring php7.2-phpdbg php7.2-soap php7.2-sybase php7.2-xsl php7.2-zip php7.2-cgi php7.2-cli php7.2-common \
|
||||
php7.2-curl php7.2-dev php7.2-gd php7.2-gmp php7.2-json php7.2-ldap php7.2-mysql php7.2-odbc php7.2-opcache \
|
||||
php7.2-pgsql php7.2-pspell php7.2-readline php7.2-recode php7.2-snmp php7.2-sqlite3 php7.2-tidy php7.2-xdebug \
|
||||
php7.2-xml php7.2-xmlrpc php7.2-memcached php7.2-redis
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.2/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.2/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.2/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.mode = debug" >> /etc/php/7.2/mods-available/xdebug.ini
|
||||
echo "xdebug.discover_client_host = true" >> /etc/php/7.2/mods-available/xdebug.ini
|
||||
echo "xdebug.client_port = 9003" >> /etc/php/7.2/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/7.2/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/7.2/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.2/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.2/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.2/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.2/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/7.2/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/7.2/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/7.2/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.2/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/7.2/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.2/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/7.2/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/7.2/fpm/pool.d/www.conf
|
||||
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/7.2/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/7.2/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/7.2/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php7.2-fpm
|
||||
service php7.2-fpm restart
|
73
scripts/features/php7.3.sh
Normal file
73
scripts/features/php7.3.sh
Normal file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php7.3-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php7.3-fpm
|
||||
service php7.3-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php73 ]
|
||||
then
|
||||
echo "PHP 7.3 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php73
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 7.3
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php7.3 php7.3-bcmath php7.3-bz2 php7.3-cgi php7.3-cli php7.3-common php7.3-curl php7.3-dba php7.3-dev php7.3-enchant \
|
||||
php7.3-fpm php7.3-gd php7.3-gmp php7.3-imap php7.3-interbase php7.3-intl php7.3-json php7.3-ldap php7.3-mbstring \
|
||||
php7.3-mysql php7.3-odbc php7.3-opcache php7.3-pgsql php7.3-phpdbg php7.3-pspell php7.3-readline php7.3-recode \
|
||||
php7.3-snmp php7.3-soap php7.3-sqlite3 php7.3-sybase php7.3-tidy php7.3-xdebug php7.3-xml php7.3-xmlrpc php7.3-xsl \
|
||||
php7.3-zip php7.3-memcached php7.3-redis
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.3/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.3/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.3/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.3/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.mode = debug" >> /etc/php/7.3/mods-available/xdebug.ini
|
||||
echo "xdebug.discover_client_host = true" >> /etc/php/7.3/mods-available/xdebug.ini
|
||||
echo "xdebug.client_port = 9003" >> /etc/php/7.3/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/7.3/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/7.3/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.3/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.3/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.3/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.3/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/7.3/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/7.3/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.3/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/7.3/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.3/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/7.3/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.3/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/7.3/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/7.3/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/7.3/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/7.3/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/7.3/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php7.3-fpm
|
||||
service php7.3-fpm restart
|
73
scripts/features/php7.4.sh
Normal file
73
scripts/features/php7.4.sh
Normal file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php7.4-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php7.4-fpm
|
||||
service php7.4-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php74 ]
|
||||
then
|
||||
echo "PHP 7.4 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php74
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 7.4
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php7.4 php7.4-bcmath php7.4-bz2 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-dba php7.4-dev \
|
||||
php7.4-enchant php7.4-fpm php7.4-gd php7.4-gmp php7.4-imap php7.4-interbase php7.4-intl php7.4-json php7.4-ldap \
|
||||
php7.4-mbstring php7.4-mysql php7.4-odbc php7.4-opcache php7.4-pgsql php7.4-phpdbg php7.4-pspell php7.4-readline \
|
||||
php7.4-snmp php7.4-soap php7.4-sqlite3 php7.4-sybase php7.4-tidy php7.4-xdebug php7.4-xml php7.4-xmlrpc php7.4-xsl \
|
||||
php7.4-zip php7.4-memcached php7.4-redis
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.4/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.4/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.4/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.4/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.mode = debug" >> /etc/php/7.4/mods-available/xdebug.ini
|
||||
echo "xdebug.discover_client_host = true" >> /etc/php/7.4/mods-available/xdebug.ini
|
||||
echo "xdebug.client_port = 9003" >> /etc/php/7.4/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/7.4/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/7.4/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.4/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.4/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.4/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.4/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/7.4/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/7.4/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.4/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/7.4/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.4/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/7.4/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/7.4/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/7.4/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/7.4/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/7.4/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/7.4/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/7.4/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php7.4-fpm
|
||||
service php7.4-fpm restart
|
73
scripts/features/php8.0.sh
Normal file
73
scripts/features/php8.0.sh
Normal file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php8.0-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php8.0-fpm
|
||||
service php8.0-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php80 ]
|
||||
then
|
||||
echo "PHP 8.0 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php80
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 8.0
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php8.0 php8.0-bcmath php8.0-bz2 php8.0-cgi php8.0-cli php8.0-common php8.0-curl php8.0-dba php8.0-dev \
|
||||
php8.0-enchant php8.0-fpm php8.0-gd php8.0-gmp php8.0-imap php8.0-interbase php8.0-intl php8.0-ldap \
|
||||
php8.0-mbstring php8.0-mysql php8.0-odbc php8.0-opcache php8.0-pgsql php8.0-phpdbg php8.0-pspell php8.0-readline \
|
||||
php8.0-snmp php8.0-soap php8.0-sqlite3 php8.0-sybase php8.0-tidy php8.0-xdebug php8.0-xml php8.0-xmlrpc php8.0-xsl \
|
||||
php8.0-zip php8.0-memcached php8.0-redis
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.0/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/8.0/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.0/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.0/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.mode = debug" >> /etc/php/8.0/mods-available/xdebug.ini
|
||||
echo "xdebug.discover_client_host = true" >> /etc/php/8.0/mods-available/xdebug.ini
|
||||
echo "xdebug.client_port = 9003" >> /etc/php/8.0/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/8.0/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/8.0/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.0/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/8.0/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.0/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.0/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/8.0/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/8.0/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.0/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/8.0/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.0/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/8.0/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.0/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/8.0/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/8.0/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/8.0/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/8.0/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/8.0/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php8.0-fpm
|
||||
service php8.0-fpm restart
|
75
scripts/features/php8.1.sh
Normal file
75
scripts/features/php8.1.sh
Normal file
@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php8.1-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php8.1-fpm
|
||||
service php8.1-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php81 ]
|
||||
then
|
||||
echo "PHP 8.1 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php81
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 8.1
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php8.1 php8.1-bcmath php8.1-bz2 php8.1-cgi php8.1-cli php8.1-common php8.1-curl php8.1-dba php8.1-dev \
|
||||
php8.1-enchant php8.1-fpm php8.1-gd php8.1-gmp php8.1-imap php8.1-interbase php8.1-intl php8.1-ldap \
|
||||
php8.1-mbstring php8.1-mysql php8.1-odbc php8.1-opcache php8.1-pgsql php8.1-phpdbg php8.1-pspell php8.1-readline \
|
||||
php8.1-snmp php8.1-soap php8.1-sqlite3 php8.1-sybase php8.1-tidy php8.1-xml php8.1-xsl \
|
||||
php8.1-zip
|
||||
|
||||
# php8.1-xdebug php8.1-xmlrpc php8.1-memcached php8.1-redis
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.1/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/8.1/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.1/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.1/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
# echo "xdebug.mode = debug" >> /etc/php/8.1/mods-available/xdebug.ini
|
||||
# echo "xdebug.discover_client_host = true" >> /etc/php/8.1/mods-available/xdebug.ini
|
||||
# echo "xdebug.client_port = 9003" >> /etc/php/8.1/mods-available/xdebug.ini
|
||||
# echo "xdebug.max_nesting_level = 512" >> /etc/php/8.1/mods-available/xdebug.ini
|
||||
# echo "opcache.revalidate_freq = 0" >> /etc/php/8.1/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.1/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/8.1/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.1/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.1/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/8.1/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/8.1/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.1/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/8.1/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.1/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/8.1/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.1/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/8.1/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/8.1/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/8.1/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/8.1/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/8.1/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php8.1-fpm
|
||||
service php8.1-fpm restart
|
73
scripts/features/php8.2.sh
Normal file
73
scripts/features/php8.2.sh
Normal file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php8.2-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php8.2-fpm
|
||||
service php8.2-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php82 ]
|
||||
then
|
||||
echo "PHP 8.2 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php82
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 8.2
|
||||
apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --allow-change-held-packages \
|
||||
php8.2 php8.2-bcmath php8.2-bz2 php8.2-cgi php8.2-cli php8.2-common php8.2-curl php8.2-dba php8.2-dev \
|
||||
php8.2-enchant php8.2-fpm php8.2-gd php8.2-gmp php8.2-imap php8.2-interbase php8.2-intl php8.2-ldap \
|
||||
php8.2-mbstring php8.2-mysql php8.2-odbc php8.2-opcache php8.2-pgsql php8.2-phpdbg php8.2-pspell php8.2-readline \
|
||||
php8.2-snmp php8.2-soap php8.2-sqlite3 php8.2-sybase php8.2-tidy php8.2-xml php8.2-xsl \
|
||||
php8.2-zip php8.2-imagick php8.2-memcached php8.2-redis php8.2-xmlrpc php8.2-xdebug
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.2/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/8.2/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.2/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.2/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.mode = debug" >> /etc/php/8.2/mods-available/xdebug.ini
|
||||
echo "xdebug.discover_client_host = true" >> /etc/php/8.2/mods-available/xdebug.ini
|
||||
echo "xdebug.client_port = 9003" >> /etc/php/8.2/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/8.2/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/8.2/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.2/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/8.2/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.2/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.2/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/8.2/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/8.2/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.2/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/8.2/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.2/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/8.2/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.2/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/8.2/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/8.2/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/8.2/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/8.2/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/8.2/fpm/pool.d/www.conf
|
||||
|
||||
systemctl enable php8.2-fpm
|
||||
service php8.2-fpm restart
|
70
scripts/features/php8.3.sh
Normal file
70
scripts/features/php8.3.sh
Normal file
@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
SERVICE_STATUS=$(systemctl is-enabled php8.3-fpm.service)
|
||||
|
||||
if [ "$SERVICE_STATUS" == "disabled" ];
|
||||
then
|
||||
systemctl enable php8.3-fpm
|
||||
service php8.3-fpm restart
|
||||
fi
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/php83 ]
|
||||
then
|
||||
echo "PHP 8.3 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/php83
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# PHP 8.3
|
||||
apt-get install -y --allow-change-held-packages \
|
||||
php8.3 php8.3-bcmath php8.3-bz2 php8.3-cgi php8.3-cli php8.3-common php8.3-curl php8.3-dba php8.3-dev \
|
||||
php8.3-enchant php8.3-fpm php8.3-gd php8.3-gmp php8.3-imap php8.3-interbase php8.3-intl php8.3-ldap \
|
||||
php8.3-mbstring php8.3-mysql php8.3-odbc php8.3-opcache php8.3-pgsql php8.3-phpdbg php8.3-pspell php8.3-readline \
|
||||
php8.3-snmp php8.3-soap php8.3-sqlite3 php8.3-sybase php8.3-tidy php8.3-xml php8.3-xsl \
|
||||
php8.3-zip php8.3-imagick php8.3-memcached php8.3-redis php8.3-xmlrpc php8.3-xdebug
|
||||
|
||||
# Configure php.ini for CLI
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.3/cli/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/8.3/cli/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.3/cli/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.3/cli/php.ini
|
||||
|
||||
# Configure Xdebug
|
||||
echo "xdebug.mode = debug" >> /etc/php/8.3/mods-available/xdebug.ini
|
||||
echo "xdebug.discover_client_host = true" >> /etc/php/8.3/mods-available/xdebug.ini
|
||||
echo "xdebug.client_port = 9003" >> /etc/php/8.3/mods-available/xdebug.ini
|
||||
echo "xdebug.max_nesting_level = 512" >> /etc/php/8.3/mods-available/xdebug.ini
|
||||
echo "opcache.revalidate_freq = 0" >> /etc/php/8.3/mods-available/opcache.ini
|
||||
|
||||
# Configure php.ini for FPM
|
||||
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.3/fpm/php.ini
|
||||
sed -i "s/display_errors = .*/display_errors = On/" /etc/php/8.3/fpm/php.ini
|
||||
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.3/fpm/php.ini
|
||||
sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.3/fpm/php.ini
|
||||
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/8.3/fpm/php.ini
|
||||
sed -i "s/post_max_size = .*/post_max_size = 100M/" /etc/php/8.3/fpm/php.ini
|
||||
sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.3/fpm/php.ini
|
||||
|
||||
printf "[openssl]\n" | tee -a /etc/php/8.3/fpm/php.ini
|
||||
printf "openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.3/fpm/php.ini
|
||||
printf "[curl]\n" | tee -a /etc/php/8.3/fpm/php.ini
|
||||
printf "curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.3/fpm/php.ini
|
||||
|
||||
# Configure FPM
|
||||
sed -i "s/user = www-data/user = vagrant/" /etc/php/8.3/fpm/pool.d/www.conf
|
||||
sed -i "s/group = www-data/group = vagrant/" /etc/php/8.3/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.owner.*/listen.owner = vagrant/" /etc/php/8.3/fpm/pool.d/www.conf
|
||||
sed -i "s/listen\.group.*/listen.group = vagrant/" /etc/php/8.3/fpm/pool.d/www.conf
|
||||
sed -i "s/;listen\.mode.*/listen.mode = 0666/" /etc/php/8.3/fpm/pool.d/www.conf
|
23
scripts/features/pm2.sh
Normal file
23
scripts/features/pm2.sh
Normal file
@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/pm2 ]
|
||||
then
|
||||
echo "pm2 already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/pm2
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install pm2
|
||||
npm install -g pm2
|
27
scripts/features/python.sh
Normal file
27
scripts/features/python.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/pythontools ]
|
||||
then
|
||||
echo "pythontools already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/pythontools
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install Python
|
||||
apt-get update
|
||||
apt-get install -y python3-pip build-essential libssl-dev libffi-dev python3-dev python3-venv
|
||||
sudo -H -u vagrant bash -c 'pip3 install django'
|
||||
sudo -H -u vagrant bash -c 'pip3 install numpy'
|
||||
sudo -H -u vagrant bash -c 'pip3 install masonite'
|
26
scripts/features/r-base.sh
Normal file
26
scripts/features/r-base.sh
Normal file
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/r-base ]
|
||||
then
|
||||
echo "r-base already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/r-base
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo gpg --dearmor -o /etc/apt/keyrings/r-project.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/r-project.gpg] https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/" | sudo tee /etc/apt/sources.list.d/r-project.list
|
||||
|
||||
apt-get update
|
||||
apt install -y r-base
|
59
scripts/features/rabbitmq.sh
Normal file
59
scripts/features/rabbitmq.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/rabbitmq ]
|
||||
then
|
||||
echo "rabbitmq already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/rabbitmq
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
sudo apt-get install curl gnupg debian-keyring debian-archive-keyring apt-transport-https -y
|
||||
|
||||
# Import signing keys
|
||||
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor -o /etc/apt/keyrings/com.rabbitmq.team.gpg
|
||||
curl -1sLf "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf77f1eda57ebb1cc" | sudo gpg --dearmor -o /etc/apt/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg
|
||||
curl -1sLf "https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey" | sudo gpg --dearmor -o /etc/apt/keyrings/io.packagecloud.rabbitmq.gpg
|
||||
|
||||
## Add apt repositories maintained by Team RabbitMQ
|
||||
tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
|
||||
deb [signed-by=/etc/apt/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu jammy main
|
||||
deb-src [signed-by=/etc/apt/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu jammy main
|
||||
deb [signed-by=/etc/apt/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ jammy main
|
||||
deb-src [signed-by=/etc/apt/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ jammy main
|
||||
EOF
|
||||
|
||||
## Update package indices
|
||||
apt-get update
|
||||
|
||||
## Install Erlang packages
|
||||
apt-get install -y erlang-base \
|
||||
erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
|
||||
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
|
||||
erlang-runtime-tools erlang-snmp erlang-ssl \
|
||||
erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
|
||||
|
||||
## Install rabbitmq-server and its dependencies
|
||||
apt-get install rabbitmq-server php-amqp php-bcmath -y --fix-missing
|
||||
|
||||
# Enable RabbitMQ HTTP Admin Interface
|
||||
rabbitmq-plugins enable rabbitmq_management
|
||||
rabbitmqctl add_user homestead secret
|
||||
rabbitmqctl set_user_tags homestead administrator
|
||||
rabbitmqctl set_permissions -p / homestead ".*" ".*" ".*"
|
||||
rabbitmqctl set_topic_permissions -p / homestead ".*" ".*" ".*"
|
||||
|
||||
# Install rabbitmqadmin CLI tool - https://www.rabbitmq.com/management-cli.html
|
||||
wget -q http://localhost:15672/cli/rabbitmqadmin -O /usr/local/bin/rabbitmqadmin
|
||||
chmod +x /usr/local/bin/rabbitmqadmin
|
22
scripts/features/rustc.sh
Normal file
22
scripts/features/rustc.sh
Normal file
@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/rustc ]; then
|
||||
echo "Rust already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/rustc
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Run the Rust installation script as the user
|
||||
sudo -u $WSL_USER_NAME curl -LsS https://sh.rustup.rs | sudo -u $WSL_USER_NAME sh -s -- -y
|
27
scripts/features/rvm.sh
Normal file
27
scripts/features/rvm.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/rvm ]
|
||||
then
|
||||
echo "rvm already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/rvm
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install RVM as vagrant user
|
||||
sudo -u $WSL_USER_NAME gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
|
||||
sudo -u $WSL_USER_NAME curl -LsS https://get.rvm.io | sudo -u $WSL_USER_NAME bash -s stable --ruby --gems=bundler --auto-dotfiles
|
||||
|
||||
# To start using RVM we need to run
|
||||
source /home/vagrant/.rvm/scripts/rvm
|
34
scripts/features/solr.sh
Normal file
34
scripts/features/solr.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/solr ]
|
||||
then
|
||||
echo "Solr already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/solr
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
# Install Java Runtime Enviroment
|
||||
sudo apt update
|
||||
sudo apt install default-jre php-solr -y
|
||||
|
||||
# Install Solr 7.7.1
|
||||
wget -q http://archive.apache.org/dist/lucene/solr/7.7.1/solr-7.7.1.tgz
|
||||
tar xzf solr-7.7.1.tgz solr-7.7.1/bin/install_solr_service.sh --strip-components=2
|
||||
sudo bash ./install_solr_service.sh solr-7.7.1.tgz
|
||||
rm solr-7.7.1.tgz install_solr_service.sh
|
||||
|
||||
# Install Homestead Core
|
||||
|
||||
sudo su -c "/opt/solr/bin/solr create -c homestead" solr
|
32
scripts/features/timescaledb.sh
Normal file
32
scripts/features/timescaledb.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/timescale ]
|
||||
then
|
||||
echo "TimescaleDB already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/timescale
|
||||
|
||||
curl -fsSL https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/keyrings/timescaledb.gpg
|
||||
echo 'deb [signed-by=/etc/apt/keyrings/timescaledb.gpg] https://packagecloud.io/timescale/timescaledb/ubuntu/ jammy main' | sudo tee /etc/apt/sources.list.d/timescaledb.list
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install timescaledb-2-postgresql-15
|
||||
|
||||
sudo timescaledb-tune --quiet --yes
|
||||
printf "\ntimescaledb.telemetry_level=off\n" | sudo tee -a /etc/postgresql/15/main/postgresql.conf
|
||||
|
||||
sudo service postgresql restart
|
||||
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
88
scripts/features/trader.sh
Normal file
88
scripts/features/trader.sh
Normal file
@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/trader ]
|
||||
then
|
||||
echo "Trader PHP extension already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/trader
|
||||
|
||||
# Update PECL Channel
|
||||
sudo pecl channel-update pecl.php.net
|
||||
|
||||
# Install Trader Extension
|
||||
sudo pecl install trader
|
||||
|
||||
sudo cp /usr/lib/php/20210902/trader.so /usr/lib/php/20131226/trader.so
|
||||
sudo cp /usr/lib/php/20210902/trader.so /usr/lib/php/20151012/trader.so
|
||||
sudo cp /usr/lib/php/20210902/trader.so /usr/lib/php/20160303/trader.so
|
||||
sudo cp /usr/lib/php/20210902/trader.so /usr/lib/php/20170718/trader.so
|
||||
sudo cp /usr/lib/php/20210902/trader.so /usr/lib/php/20180731/trader.so
|
||||
sudo cp /usr/lib/php/20210902/trader.so /usr/lib/php/20200930/trader.so
|
||||
|
||||
sudo touch /etc/php/8.1/mods-available/trader.ini
|
||||
sudo bash -c 'echo "extension=trader.so" >> /etc/php/8.1/mods-available/trader.ini'
|
||||
sudo ln -s /etc/php/8.1/mods-available/trader.ini /etc/php/8.1/fpm/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/8.1/mods-available/trader.ini /etc/php/8.1/cgi/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/8.1/mods-available/trader.ini /etc/php/8.1/cli/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/8.1/mods-available/trader.ini /etc/php/8.1/phpdbg/conf.d/20-trader.ini
|
||||
|
||||
sudo touch /etc/php/8.0/mods-available/trader.ini
|
||||
sudo bash -c 'echo "extension=trader.so" >> /etc/php/8.0/mods-available/trader.ini'
|
||||
sudo ln -s /etc/php/8.0/mods-available/trader.ini /etc/php/8.0/fpm/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/8.0/mods-available/trader.ini /etc/php/8.0/cgi/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/8.0/mods-available/trader.ini /etc/php/8.0/cli/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/8.0/mods-available/trader.ini /etc/php/8.0/phpdbg/conf.d/20-trader.ini
|
||||
|
||||
sudo touch /etc/php/7.4/mods-available/trader.ini
|
||||
sudo bash -c 'echo "extension=trader.so" >> /etc/php/7.4/mods-available/trader.ini'
|
||||
sudo ln -s /etc/php/7.4/mods-available/trader.ini /etc/php/7.4/fpm/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.4/mods-available/trader.ini /etc/php/7.4/cgi/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.4/mods-available/trader.ini /etc/php/7.4/cli/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.4/mods-available/trader.ini /etc/php/7.4/phpdbg/conf.d/20-trader.ini
|
||||
|
||||
sudo touch /etc/php/7.3/mods-available/trader.ini
|
||||
sudo bash -c 'echo "extension=trader.so" >> /etc/php/7.3/mods-available/trader.ini'
|
||||
sudo ln -s /etc/php/7.3/mods-available/trader.ini /etc/php/7.3/fpm/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.3/mods-available/trader.ini /etc/php/7.3/cgi/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.3/mods-available/trader.ini /etc/php/7.3/cli/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.3/mods-available/trader.ini /etc/php/7.3/phpdbg/conf.d/20-trader.ini
|
||||
|
||||
sudo touch /etc/php/7.2/mods-available/trader.ini
|
||||
sudo bash -c 'echo "extension=trader.so" >> /etc/php/7.2/mods-available/trader.ini'
|
||||
sudo ln -s /etc/php/7.2/mods-available/trader.ini /etc/php/7.2/fpm/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.2/mods-available/trader.ini /etc/php/7.2/cgi/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.2/mods-available/trader.ini /etc/php/7.2/cli/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.2/mods-available/trader.ini /etc/php/7.2/phpdbg/conf.d/20-trader.ini
|
||||
|
||||
sudo touch /etc/php/7.1/mods-available/trader.ini
|
||||
sudo bash -c 'echo "extension=trader.so" >> /etc/php/7.1/mods-available/trader.ini'
|
||||
sudo ln -s /etc/php/7.1/mods-available/trader.ini /etc/php/7.1/fpm/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.1/mods-available/trader.ini /etc/php/7.1/cgi/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.1/mods-available/trader.ini /etc/php/7.1/cli/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.1/mods-available/trader.ini /etc/php/7.1/phpdbg/conf.d/20-trader.ini
|
||||
|
||||
sudo touch /etc/php/7.0/mods-available/trader.ini
|
||||
sudo bash -c 'echo "extension=trader.so" >> /etc/php/7.0/mods-available/trader.ini'
|
||||
sudo ln -s /etc/php/7.0/mods-available/trader.ini /etc/php/7.0/fpm/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.0/mods-available/trader.ini /etc/php/7.0/cgi/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.0/mods-available/trader.ini /etc/php/7.0/cli/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/7.0/mods-available/trader.ini /etc/php/7.0/phpdbg/conf.d/20-trader.ini
|
||||
|
||||
sudo touch /etc/php/5.6/mods-available/trader.ini
|
||||
sudo bash -c 'echo "extension=trader.so" >> /etc/php/5.6/mods-available/trader.ini'
|
||||
sudo ln -s /etc/php/5.6/mods-available/trader.ini /etc/php/5.6/fpm/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/5.6/mods-available/trader.ini /etc/php/5.6/cgi/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/5.6/mods-available/trader.ini /etc/php/5.6/cli/conf.d/20-trader.ini
|
||||
sudo ln -s /etc/php/5.6/mods-available/trader.ini /etc/php/5.6/phpdbg/conf.d/20-trader.ini
|
32
scripts/features/webdriver.sh
Normal file
32
scripts/features/webdriver.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
||||
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
||||
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
||||
else
|
||||
WSL_USER_NAME=vagrant
|
||||
WSL_USER_GROUP=vagrant
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
if [ -f /home/$WSL_USER_NAME/.homestead-features/webdriverutils ]
|
||||
then
|
||||
echo "Web Driver utilities already installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
touch /home/$WSL_USER_NAME/.homestead-features/webdriverutils
|
||||
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
||||
|
||||
ARCH=$(arch)
|
||||
|
||||
# Install The Chrome Web Driver & Dusk Utilities
|
||||
if [[ "$ARCH" != "aarch64" ]]; then
|
||||
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O /tmp/chrome.deb
|
||||
apt-get install -y /tmp/chrome.deb
|
||||
rm -f /tmp/chrome.deb
|
||||
fi
|
||||
|
||||
apt-get -y install libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 chromium-browser xvfb gtk2-engines-pixbuf \
|
||||
xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable imagemagick x11-apps
|
Reference in New Issue
Block a user