@@ -21,65 +21,72 @@ apt-get upgrade -y
21
21
echo " LC_ALL=en_US.UTF-8" >> /etc/default/locale
22
22
locale-gen en_US.UTF-8
23
23
24
- apt-get install -y software-properties-common curl
24
+ apt-get install -y software-properties-common curl gnupg debian-keyring debian-archive-keyring apt-transport-https \
25
+ ca-certificates
25
26
26
27
# Install Some PPAs
27
28
apt-add-repository ppa:ondrej/php -y
28
- apt-add-repository ppa:chris-lea/redis-server -y
29
+
30
+ # Prepare keyrings directory
31
+ sudo mkdir -p /etc/apt/keyrings
32
+
29
33
# NodeJS
30
- curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
31
- # PostgreSQL
32
- tee /etc/apt/sources.list.d/pgdg.list << END
33
- deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main
34
- END
34
+ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
35
+ echo " deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_21.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
35
36
36
- wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
37
+ # PostgreSQL
38
+ curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/keyrings/postgresql.gpg
39
+ sudo sh -c ' echo "deb [signed-by=/etc/apt/keyrings/postgresql.gpg] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
37
40
38
41
# # Update Package Lists
39
- apt-get update
42
+ apt-get update -y
40
43
41
44
# Install Some Basic Packages
42
- apt-get install -y build-essential dos2unix gcc git git-lfs libmcrypt4 libpcre3-dev libpng-dev unzip make \
43
- python3-pip re2c supervisor unattended-upgrades whois vim libnotify-bin pv mcrypt bash-completion zsh imagemagick
44
-
45
- # # Set My Timezone
46
- # ln -sf /usr/share/zoneinfo/UTC /etc/localtime
45
+ apt-get install -y build-essential dos2unix gcc git git-lfs libmcrypt4 libpcre3-dev libpng-dev chrony unzip make pv \
46
+ python3-pip re2c supervisor unattended-upgrades whois vim cifs-utils bash-completion zsh graphviz avahi-daemon tshark
47
47
48
48
# Install Generic PHP packages
49
49
apt-get install -y --allow-change-held-packages \
50
50
php-imagick php-memcached php-redis php-xdebug php-dev php-swoole
51
51
52
- # PHP 8.2
52
+ # PHP 8.3
53
53
apt-get install -y --allow-change-held-packages \
54
- 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 \
55
- php8.2-enchant php8.2-fpm php8.2-gd php8.2-gmp php8.2-imap php8.2-interbase php8.2-intl php8.2-ldap \
56
- php8.2-mbstring php8.2-mysql php8.2-odbc php8.2-opcache php8.2-pgsql php8.2-phpdbg php8.2-pspell php8.2-readline \
57
- php8.2-snmp php8.2-soap php8.2-sqlite3 php8.2-sybase php8.2-tidy php8.2-xml php8.2-xsl \
58
- php8.2-zip
54
+ 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 \
55
+ php8.3-enchant php8.3-fpm php8.3-gd php8.3-gmp php8.3-imap php8.3-interbase php8.3-intl php8.3-ldap \
56
+ php8.3-mbstring php8.3-mysql php8.3-odbc php8.3-opcache php8.3-pgsql php8.3-phpdbg php8.3-pspell php8.3-readline \
57
+ php8.3-snmp php8.3-soap php8.3-sqlite3 php8.3-sybase php8.3-tidy php8.3-xml php8.3-xsl \
58
+ php8.3-zip php8.3-imagick php8.3-memcached php8.3-redis php8.3-xmlrpc php8.3-xdebug
59
+
60
+ # Configure php.ini for CLI
61
+ sed -i " s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.3/cli/php.ini
62
+ sed -i " s/display_errors = .*/display_errors = On/" /etc/php/8.3/cli/php.ini
63
+ sed -i " s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.3/cli/php.ini
64
+ sed -i " s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.3/cli/php.ini
65
+
66
+ # Configure Xdebug
67
+ echo " xdebug.mode = debug" >> /etc/php/8.3/mods-available/xdebug.ini
68
+ echo " xdebug.discover_client_host = true" >> /etc/php/8.3/mods-available/xdebug.ini
69
+ echo " xdebug.client_port = 9003" >> /etc/php/8.3/mods-available/xdebug.ini
70
+ echo " xdebug.max_nesting_level = 512" >> /etc/php/8.3/mods-available/xdebug.ini
71
+ echo " opcache.revalidate_freq = 0" >> /etc/php/8.3/mods-available/opcache.ini
59
72
60
73
# Fixed php fpm bind listening socket - no such file issue.
61
74
mkdir -p /run/php
62
- touch /run/php/php8.2 -fpm.sock
63
-
64
- # Install Composer
65
- curl -sS https://getcomposer.org/installer | php
66
- mv composer.phar /usr/local/bin/composer
67
- chown -R $WSL_USER_NAME : $WSL_USER_NAME /home/$WSL_USER_NAME /.config
68
-
69
- # # Install Global Packages
70
- sudo su $WSL_USER_NAME << 'EOF '
71
- /usr/local/bin/composer global require "laravel/envoy=^2.0"
72
- /usr/local/bin/composer global require "laravel/installer=^4.2 "
73
- /usr/local/bin/composer global config --no-plugins allow-plugins.slince/composer-registry-manager true
74
- /usr/local/bin/composer global require "slince/composer-registry-manager=^2.0"
75
+ touch /run/php/php8.3 -fpm.sock
76
+
77
+ # Install Composer
78
+ curl -sS https://getcomposer.org/installer | php
79
+ mv composer.phar /usr/local/bin/composer
80
+ chown -R vagrant:vagrant /home/vagrant /.config
81
+
82
+ # Install Global Packages
83
+ sudo su vagrant << 'EOF '
84
+ /usr/local/bin/composer global require "laravel/envoy=^2.0"
85
+ /usr/local/bin/composer global require "laravel/installer=^5.0 "
86
+ /usr/local/bin/composer global config --no-plugins allow-plugins.slince/composer-registry-manager true
87
+ /usr/local/bin/composer global require "slince/composer-registry-manager=^2.0"
75
88
EOF
76
89
77
- # Configure php.ini for CLI
78
- sed -i " s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.2/cli/php.ini
79
- sed -i " s/display_errors = .*/display_errors = On/" /etc/php/8.2/cli/php.ini
80
- sed -i " s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.2/cli/php.ini
81
- sed -i " s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.2/cli/php.ini
82
-
83
90
# Install Nginx
84
91
apt-get install -y --allow-downgrades --allow-remove-essential --allow-change-held-packages nginx
85
92
@@ -92,37 +99,36 @@ chown -R $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME
92
99
touch /home/$WSL_USER_NAME /.config/nginx/nginx.conf
93
100
ln -sf /home/$WSL_USER_NAME /.config/nginx/nginx.conf /etc/nginx/conf.d/nginx.conf
94
101
95
- # Setup Some PHP-FPM Options
96
- sed -i " s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.2/fpm/php.ini
97
- sed -i " s/display_errors = .*/display_errors = On/" /etc/php/8.2/fpm/php.ini
98
- sed -i " s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.2/fpm/php.ini
99
- sed -i " s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.2/fpm/php.ini
100
- sed -i " s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/8.2/fpm/php.ini
101
- sed -i " s/post_max_size = .*/post_max_size = 100M/" /etc/php/8.2/fpm/php.ini
102
- sed -i " s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.2/fpm/php.ini
103
-
104
- printf " [openssl]\n" | tee -a /etc/php/8.2/fpm/php.ini
105
- printf " openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.2/fpm/php.ini
102
+ # Configure php.ini for FPM
103
+ sed -i " s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/8.3/fpm/php.ini
104
+ sed -i " s/display_errors = .*/display_errors = On/" /etc/php/8.3/fpm/php.ini
105
+ sed -i " s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.3/fpm/php.ini
106
+ sed -i " s/memory_limit = .*/memory_limit = 512M/" /etc/php/8.3/fpm/php.ini
107
+ sed -i " s/upload_max_filesize = .*/upload_max_filesize = 100M/" /etc/php/8.3/fpm/php.ini
108
+ sed -i " s/post_max_size = .*/post_max_size = 100M/" /etc/php/8.3/fpm/php.ini
109
+ sed -i " s/;date.timezone.*/date.timezone = UTC/" /etc/php/8.3/fpm/php.ini
106
110
107
- printf " [curl]\n" | tee -a /etc/php/8.2/fpm/php.ini
108
- printf " curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.2/fpm/php.ini
109
-
110
- # Disable XDebug On The CLI
111
- sudo phpdismod -s cli xdebug
111
+ printf " [openssl]\n" | tee -a /etc/php/8.3/fpm/php.ini
112
+ printf " openssl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.3/fpm/php.ini
113
+ printf " [curl]\n" | tee -a /etc/php/8.3/fpm/php.ini
114
+ printf " curl.cainfo = /etc/ssl/certs/ca-certificates.crt\n" | tee -a /etc/php/8.3/fpm/php.ini
112
115
113
116
# Set The Nginx & PHP-FPM User
114
117
sed -i " s/user www-data;/user $WSL_USER_NAME ;/" /etc/nginx/nginx.conf
115
118
sed -i " s/# server_names_hash_bucket_size.*/server_names_hash_bucket_size 64;/" /etc/nginx/nginx.conf
116
119
117
- sed -i " s/user = www-data/user = $WSL_USER_NAME /" /etc/php/8.2/fpm/pool.d/www.conf
118
- sed -i " s/group = www-data/group = $WSL_USER_NAME /" /etc/php/8.2/fpm/pool.d/www.conf
120
+ sed -i " s/user = www-data/user = $WSL_USER_NAME /" /etc/php/8.3/fpm/pool.d/www.conf
121
+ sed -i " s/group = www-data/group = $WSL_USER_NAME /" /etc/php/8.3/fpm/pool.d/www.conf
122
+
123
+ sed -i " s/listen\.owner.*/listen.owner = $WSL_USER_NAME /" /etc/php/8.3/fpm/pool.d/www.conf
124
+ sed -i " s/listen\.group.*/listen.group = $WSL_USER_NAME /" /etc/php/8.3/fpm/pool.d/www.conf
125
+ sed -i " s/;listen\.mode.*/listen.mode = 0666/" /etc/php/8.3/fpm/pool.d/www.conf
119
126
120
- sed -i " s/listen\.owner.*/listen.owner = $WSL_USER_NAME /" /etc/php/8.2/fpm/pool.d/www.conf
121
- sed -i " s/listen\.group.*/listen.group = $WSL_USER_NAME /" /etc/php/8.2/fpm/pool.d/www.conf
122
- sed -i " s/;listen\.mode.*/listen.mode = 0666/" /etc/php/8.2/fpm/pool.d/www.conf
127
+ # Disable XDebug On The CLI
128
+ sudo phpdismod -s cli xdebug
123
129
124
130
service nginx restart
125
- service php8.0 -fpm restart
131
+ service php8.3 -fpm restart
126
132
127
133
# Add $WSL_USER_NAME User To WWW-Data
128
134
usermod -a -G www-data $WSL_USER_NAME
0 commit comments