laravel -- php -- more basic questions.. pt. #4
bruce <[email protected]>
| Newsgroups | gmane.comp.php.general |
|---|---|
| Message-ID | <CAP16ngq9ocOfdZ8OmmvRApcGy7chL-heKaQnBTzTEq9MjAQAhg@mail.gmail.com> |
Hi...
This follows the previous pt #3 (after this section/msg...)
As some of the list may know I'm trying to test a github repos
("https://github.com/thedevdojo/wave").
The goal is to have a digitalocean/instance, running Ubuntu/Apache2,
to display the same basic app as in the "https://wave.devdojo.com/"
demo site.
The app requires php/laravel/composer/mysql/apache2 to run.
I've gotten most of the "install" portion/steps completed, or at least
not getting errs..
The process has two users
testuser
root
The process is set to use Apache2
The test url is
http://161.35.5.174 --- base url
The http://161.35.5.174/wave
isn't quite correct as it generates a list/index of files
So I suspect I'm not correct regarding the
VirtualHost file
/etc/apache2/alias.conf
rewrite process
.htaccess file..
the Virtualhost
wave.conf
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName temp
ServerAlias temp
DocumentRoot /var/www/html/wave/wave/public
<Directory /var/www/html/wave/wave/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
LogLevel debug
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
testuser@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/wave/wave$ cat
/etc/apache2/mods-available/alias.conf
# Aliases: Add here as many aliases as you need (with no limit). The format is
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So "/icons" isn't aliased in this
# example, only "/icons/". If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings. If
# you do not use FancyIndexing, you may comment this out.
Alias /icons/ "/usr/share/apache2/icons/"
Alias /wave/ "/var/www/html/wave"
#Alias /wave/ "/var/www/html/wave/public"
<Directory "/usr/share/apache2/icons">
Options FollowSymlinks
AllowOverride None
Require all granted
</Directory>
At this point, I have no clue what to "correct", other than trial/error...
Again, the droplet is a test digitalocean/ubuntu
I can easily provide access if you're up to "taking a look"
The droplet can be recreated in a few minutes..
The idea is to have a "subdir" for the "wave" test project.
The files are located
/var/www/html/wave --- top level
github test wave proj
https://github.com/thedevdojo/wave
thanks
-bruce
===========================================================
===========================================================
laravel -- php -- more basic questions.. pt. #3
Hi...
This follows the previous pt #2 (at bottom of this msg...)
As some of the list may know I'm trying to test a github repos
("https://github.com/thedevdojo/wave").
The goal is to have a digitalocean/instance, running Ubuntu/Apache2,
to display the same basic app as in the "https://wave.devdojo.com/"
demo site.
The app requires php/laravel/composer/mysql/apache2 to run.
I have Laravel -- "composer update" issues in terms or user
owner/group Owner - permissions settings. Not exactly sure what the
settings should be for a given dir/file.
I managed to resolve the issue of the "composer update" by
changing/modifying the usergroup
for "testuser" -- adding it to "www-data"
Now, I'm running into issues with the
php artisan cache:clear
php artisan config:cache
php artisan migrate
Doctrine\DBAL\Driver\PDO\Exception
SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost'
(using password: YES)
which is odd.. as there's no "forge" in the ,env file for the mysql db
testuser@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/wave/wave$ more wave.env
APP_NAME=Wave
APP_ENV=local
APP_KEY=base64:8dQ7xw/kM9EYMV4cUkzKgET8jF4P0M0TOmmqN05RN2w=
APP_DEBUG=false
#APP_URL=http://wave.test
APP_URL=http://161.35.5.174
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=waveXX
#DB_USERNAME=root
#DB_PASSWORD=
DB_USERNAME="wave_XX"
DB_PASSWORD="waveXX"
.
.
.
I'm seeing a lot of different "solns/attacks" for handling this.
But not a good soln I trust.
Given this is laravel, any one with thoughts on this issue??
As far as I can tell, the larave/artisan process is somehow using
"default" data... as opposed to the defined wave.env file
thanks for any input..
-bruce
Hi
As some of the list may know I'm trying to test a github repos
("https://github.com/thedevdojo/wave").
The goal is to have a digitalocean/instance, running Ubuntu/Apache2,
to display the same basic app as in the "https://wave.devdojo.com/"
demo site.
The app requires php/laravel/composer/mysql/apache2 to run.
I have Laravel -- "composer update" issues in terms or user
owner/group Owner - permissions settings. Not exactly sure what the
settings should be for a given dir/file.
Doing a trial/error process with checking out different sites.
I set permissions to top level of dirs to 755
/var/www/html/wave
/var/www/html/wave/wave
set 755 -R
/var/www/html/wave/wave/storage
/var/www/html/wave/wave/bootstrap
user:group -R www-data, www-data
/var/www/html/wave
???
chmod -R ug+rwx storage
chmod -R ug+rwx bootstrap/cache
inside func link tt /var/www/html/wave/wave/storage/app/public
set 755 -R --test..??
/var/www/html/wave/wave/public/storage
chmod -R 755 /var/www/html/wave/wave/public/storage
I have the users:
root
testuser
the "testuser" is the user used to run the laravel "composer update" cmds...
I'm presently getting an error:
from "composer update"
> @php artisan storage:link
ErrorException
symlink(): Permission denied
at vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:340
336▕ */
337▕ public function link($target, $link)
338▕ {
339▕ if (! windows_os()) {
➜ 340▕ return symlink($target, $link);
341▕ }
342▕
343▕ $mode = $this->isDirectory($target) ? 'J' : 'H';
344▕
+15 vendor frames
16 artisan:35
Illuminate\Foundation\Console\Kernel::handle()
Script @php artisan storage:link handling the post-autoload-dump event
returned with error code 1
the dir the cmd is being run from
"/var/www/html/wave/wave"
the dir tree is:
testuser@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/wave/wave$ ls -al
total 496
drwxrwxrwx 17 www-data www-data 4096 Nov 4 03:22 .
drwxrwxrwx 9 www-data www-data 4096 Nov 4 03:16 ..
drw-r-xr-x 2 www-data www-data 4096 Oct 31 17:17 .do
-rw-r-xr-x 1 www-data www-data 1650 Oct 31 17:17 .dockerignore
-rw-r-xr-x 1 www-data www-data 258 Oct 31 17:17 .editorconfig
-rw-r-xr-x 1 www-data www-data 1085 Oct 31 17:17 .env.example
drw-r-xr-x 8 www-data www-data 4096 Oct 31 17:17 .git
-rw-r-xr-x 1 www-data www-data 152 Oct 31 17:17 .gitattributes
drw-r-xr-x 3 www-data www-data 4096 Oct 31 17:17 .github
-rw-r-xr-x 1 www-data www-data 337 Oct 31 17:17 .gitignore
-rw-r-xr-x 1 www-data www-data 705 Oct 31 17:17 Dockerfile
-rw-r-xr-x 1 www-data www-data 1069 Oct 31 17:17 LICENSE.md
-rw-r-xr-x 1 www-data www-data 4822 Oct 31 17:17 README.md
-rw-r-xr-x 1 www-data www-data 294 Oct 31 17:17 SECURITY.md
drw-r-xr-x 7 www-data www-data 4096 Oct 31 17:17 app
-rw-r-xr-x 1 www-data www-data 1686 Oct 31 17:17 artisan
drwxrwxrwx 3 www-data www-data 4096 Oct 31 17:17 bootstrap
-rw-r-xr-x 1 www-data www-data 302 Oct 31 17:17 buildDocker.sh
-rw-r-xr-x 1 www-data www-data 2317 Oct 31 17:17 composer.json
-rwxrwxrwx 1 www-data www-data 348410 Nov 4 03:22 composer.lock
drw-r-xr-x 2 www-data www-data 4096 Oct 31 17:17 config
drw-r-xr-x 4 www-data www-data 4096 Oct 31 17:17 database
-rw-r-xr-x 1 www-data www-data 9865 Oct 31 17:17 deploy.json
-rw-r-xr-x 1 www-data www-data 1675 Oct 31 17:17 docker-compose.yml
drw-r-xr-x 17 www-data www-data 4096 Oct 31 17:17 lang
-rw-r-xr-x 1 www-data www-data 152 Oct 31 17:17 package-lock.json
-rw-r-xr-x 1 www-data www-data 42 Oct 31 17:17 package.json
-rw-r-xr-x 1 www-data www-data 1160 Oct 31 17:17 phpunit.xml
drw-r-xr-x 5 www-data www-data 4096 Oct 31 17:17 public
drw-r-xr-x 3 www-data www-data 4096 Oct 31 17:17 resources
drw-r-xr-x 2 www-data www-data 4096 Oct 31 17:17 routes
drwxrwxrwx 6 www-data www-data 4096 Oct 31 17:17 storage
drw-r-xr-x 7 www-data www-data 4096 Oct 31 17:17 tests
drwxrwxr-x 50 testuser testuser 4096 Nov 4 03:22 vendor
drw-r-xr-x 7 www-data www-data 4096 Oct 31 17:17 wave
-rw-r-xr-x 1 www-data www-data 1159 Nov 2 23:12 wave.env
in checking out the Filesystem.php
337▕ public function link($target, $link)
338▕ {
339▕ if (! windows_os()) {
➜ 340▕ return symlink($target, $link);
341▕ }
342▕
did a quick test of the Filesystem.php to see exactly what
"target/link" dirs are, to try to
better understand what might be the issues..
inside func link tt-- /var/www/html/wave/wave/wave/docs
ll target -- /var/www/html/wave/wave/public/wave/docs
so the "target" is basically the -->"/var/www/html/wave/wave/public" tree
tested creating a --
root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/wave/wave# mkdir
/var/www/html/wave/wave/public/storage "added storage.."
root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/wave/wave# chown
www-data:www-data -R /var/www/html/wave/wave/public/storage
root@ubuntu-s-1vcpu-2gb-nyc1-01:/var/www/html/wave/wave# chmod -R 775
/var/www/html/wave/wave/public/storage
running the "composre update" now gives err
ERROR The [public/storage] link already exists.
inside func link tt /var/www/html/wave/wave/wave/docs
ll /var/www/html/wave/wave/public/wave/docs
ErrorException
symlink(): Permission denied
which says that "creating" a test "public/storage" dir with the chmod
-R 775, chown -R www-data:www-data isn't the solution!
so.. I'm not exactly sure what's the basic issue...
Once I/the test gets through setting up/running the laravel/composer
cmds, I'll do the migrate/db stuff.. and hopefully up will pop a test
page!
I'm at a complete/current loss as to what's causing the expected
user/permission errors....
If anyone has any thoughts/pointers, I'm more than willing to try them.
If someone is really bored and wants to ump on the cloud/instance, I
can easily give you access!
Given this is a cheap instance, it can be blown away/reinstalled in a
few minutes!
thanks
-bruce