Web Application Development – IBM Developer

How to deploy Angular 2 application on AWS? Need help regarding CI/CD and scaling

Hi guys, I am developing internal system for my organisation on Angular 9.0.6. This is currently deployed on Lambda function via serverless. But this setup has multiple problems that I am facing currently:
1st - CI/CD setup: Our repository is hosted on Gitlab. I was trying to use Gitlab CI tool to deploy my code to staging/production. But it gets stuck at
Serverless: Excluding development dependencies... 
This stage takes almost 45 minutes of build time and then times out. My package exclusion in serverless.yml:
package: exclude: \- src/\*\* \- node\_modules/\*\* \- firebug-lite/\*\* \- e2e/\*\* \- coverage/\*\* \- '!node\_modules/aws-serverless-express/\*\*' \- '!node\_modules/binary-case/\*\*' \- '!node\_modules/type-is/\*\*' \- '!node\_modules/media-type\*\*' \- '!node\_modules/mime-types/\*\*' \- '!node\_modules/mime-db/\*\*' 
Where am I going wrong? Should I be looking at AWS CodeBuild or any other tool?
PS: I also evaluated Jenkins as an option, but the entire JAVA backend microservices are getting deployed via Gitlab CI so a Jenkins setup won't add much value.
2nd - Upgrading Angular version:
The other problem is that when I upgrade my code via angular-cli or otherwise also, Lambda function is returning 502 on the main chunk. It is loading all supporting bundles (eg, vendor.js, polyfills.js) correctly. I tried checking my CloudWatch logs with enhanced monitoring enabled. But there is no error corresponding to this.
Everything is working fine and compiling without issues on local server with and without AOT and production build flags.
Anyone having faced a similar issue to this?
I encountered same issue when adding ckeditockeditor5-angular library in my package.
My package dependencies are:
"dependencies": { "@angulaanimations": "~9.0.6", "@angulacdk": "~9.1.3", "@angulacommon": "~9.0.6", "@angulacompiler": "~9.0.6", "@angulacore": "~9.0.6", "@angulaforms": "~9.0.6", "@angulamaterial": "^9.1.3", "@angulaplatform-browser": "~9.0.6", "@angulaplatform-browser-dynamic": "~9.0.6", "@angularouter": "~9.0.6", "@angulaservice-worker": "~9.0.6", "@ckeditockeditor5-angular": "^1.2.3", "@ckeditockeditor5-build-classic": "^22.0.0", "@fullstory/browser": "^1.4.3", "@ng-toolkit/serverless": "^8.1.0", "@sentry/browser": "^5.12.1", "@sentry/fullstory": "^1.1.2", "@swimlane/ngx-charts": "^13.0.2", "@zxing/ngx-scanner": "^3.0.0", "apollo-angular": "^1.8.0", "apollo-angular-link-http": "^1.9.0", "apollo-cache-inmemory": "^1.6.0", "apollo-client": "^2.6.0", "apollo-link": "^1.2.11", "apollo-link-context": "^1.0.20", "apollo-link-error": "^1.1.13", "apollo-link-ws": "^1.0.19", "apollo-utilities": "^1.3.3", "aws-serverless-express": "^3.3.6", "bootstrap": "^4.4.1", "cors": "^2.8.5", "dexie": "^3.0.2", "graphql": "^14.5.0", "graphql-tag": "^2.10.0", "jwt-decode": "^2.2.0", "moment": "^2.25.1", "ng2-pdfjs-viewer": "^5.0.5", "ngx-device-detector": "^1.3.20", "ngx-kjua": "^1.7.0", "ngx-mat-daterange-picker": "^1.1.4", "rxjs": "~6.5.4", "serverless-api-compression": "^1.0.1", "subscriptions-transport-ws": "^0.9.16", "tslib": "^1.10.0", "zone.js": "~0.10.2" }, "devDependencies": { "@angular-devkit/build-angular": "~0.900.6", "@angulacli": "^9.0.6", "@angulacompiler-cli": "~9.0.6", "@angulalanguage-service": "~9.0.6", "@types/jasmine": "~3.3.8", "@types/jasminewd2": "~2.0.3", "@types/node": "^8.10.59", "codelyzer": "^5.0.0", "jasmine-core": "~3.4.0", "jasmine-spec-reporter": "~4.2.1", "karma": "^4.4.1", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "~2.0.1", "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "^1.4.0", "opencollective": "^1.0.3", "protractor": "~5.4.0", "serverless": "^1.60.0", "serverless-apigw-binary": "^0.4.4", "ts-loader": "^6.2.1", "ts-node": "~7.0.0", "tslint": "~5.15.0", "typescript": "~3.7.5", "webpack-cli": "^3.3.10" } 
I don't have much experience in Lambda setups. Any specific place where I should be looking at to debug this issue?
submitted by shreeshkatyayan to Angular2 [link] [comments]

Can't compile plank from elementary layman

Hello!
That is very weird, after installation plank on PC i tried to do this on my Thinkpad and I can't finish it.Main problem is "Package 'libgnome-menu-3.0', required by 'virtual:world', not found", so i tried to install libgnome package, because libgnome-menu doesn't exist with no luck, anyone have an idea, how to get libgnome-menu on gentoo? :(
EDIT: after install gnome-menus I installed plank, thank guy who deleted comment and deleted it after few seconds :D
1)sudo emerge -a plank gives this error
Calculating dependencies... done! [ebuild N ~] x11-misc/plank-0.11.89 USE="dbus nls -debug -static-libs" Would you like to merge these packages? [Yes/No] yes >>> Verifying ebuild manifests >>> Emerging (1 of 1) x11-misc/plank-0.11.89::elementary * plank-0.11.89.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking plank-0.11.89.tar.xz to /vatmp/portage/x11-misc/plank-0.11.89/work >>> Source unpacked in /vatmp/portage/x11-misc/plank-0.11.89/work >>> Preparing source in /vatmp/portage/x11-misc/plank-0.11.89/work/plank-0.11.89 ... * Running eautoreconf in '/vatmp/portage/x11-misc/plank-0.11.89/work/plank-0.11.89' ... * Running autopoint --force ... [ ok ] * Running libtoolize --install --copy --force --automake ... [ ok ] * Running aclocal --install -I m4 ... [ ok ] * Running autoconf --force ... [ ok ] * Running autoheader ... [ ok ] * Running automake --add-missing --copy --force-missing ... [ ok ] * Running elibtoolize in: plank-0.11.89/ * Running elibtoolize in: plank-0.11.89/build-aux/ * Applying portage/1.2.0 patch ... * Applying sed/1.5.6 patch ... * Applying as-needed/2.4.3 patch ... >>> Source prepared. >>> Configuring source in /vatmp/portage/x11-misc/plank-0.11.89/work/plank-0.11.89 ... * econf: updating plank-0.11.89/build-aux/config.sub with /usshare/gnuconfig/config.sub * econf: updating plank-0.11.89/build-aux/config.guess with /usshare/gnuconfig/config.guess ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usshare/man --infodir=/usshare/info --datadir=/usshare --sysconfdir=/etc --localstatedir=/valib --disable-dependency-tracking --disable-silent-rules --docdir=/usshare/doc/plank-0.11.89 --htmldir=/usshare/doc/plank-0.11.89/html --with-sysroot=/ --libdir=/uslib64 --disable-debug --enable-nls --enable-dbusmenu checking whether make supports nested variables... yes checking for a BSD-compatible install... /uslib/portage/python3.7/ebuild-helpers/xattinstall -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether UID '250' is supported by ustar format... yes checking whether GID '250' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether to enable maintainer-specific portions of Makefiles... yes checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed checking whether x86_64-pc-linux-gnu-gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of x86_64-pc-linux-gnu-gcc... none checking for x86_64-pc-linux-gnu-g++... x86_64-pc-linux-gnu-g++ checking whether we are using the GNU C++ compiler... yes checking whether x86_64-pc-linux-gnu-g++ accepts -g... yes checking dependency style of x86_64-pc-linux-gnu-g++... none checking whether x86_64-pc-linux-gnu-g++ understands -c and -o together... yes checking for a sed that does not truncate output... /bin/sed checking whether NLS is requested... yes checking for msgfmt... /usbin/msgfmt checking for gmsgfmt... /usbin/gmsgfmt checking for xgettext... /usbin/xgettext checking for msgmerge... /usbin/msgmerge checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for ld used by x86_64-pc-linux-gnu-gcc... /usx86_64-pc-linux-gnu/bin/ld checking if the linker (/usx86_64-pc-linux-gnu/bin/ld) is GNU ld... yes checking for shared library run path origin... done checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking how to print strings... printf checking for a sed that does not truncate output... (cached) /bin/sed checking for fgrep... /bin/grep -F checking for ld used by x86_64-pc-linux-gnu-gcc... /usx86_64-pc-linux-gnu/bin/ld checking if the linker (/usx86_64-pc-linux-gnu/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usbin/x86_64-pc-linux-gnu-nm -B checking the name lister (/usbin/x86_64-pc-linux-gnu-nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usx86_64-pc-linux-gnu/bin/ld option to reload object files... -r checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump checking how to recognize dependent libraries... pass_all checking for x86_64-pc-linux-gnu-dlltool... no checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar checking for archiver u/FILE support... @ checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib checking command to parse /usbin/x86_64-pc-linux-gnu-nm -B output from x86_64-pc-linux-gnu-gcc object... ok checking for sysroot... / checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for x86_64-pc-linux-gnu-mt... no checking for mt... no checking if : is a manifest tool... no checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes checking whether the x86_64-pc-linux-gnu-gcc linker (/usx86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking how to run the C++ preprocessor... x86_64-pc-linux-gnu-g++ -E checking for ld used by x86_64-pc-linux-gnu-g++... /usx86_64-pc-linux-gnu/bin/ld -m elf_x86_64 checking if the linker (/usx86_64-pc-linux-gnu/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the x86_64-pc-linux-gnu-g++ linker (/usx86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes checking for x86_64-pc-linux-gnu-g++ option to produce PIC... -fPIC -DPIC checking if x86_64-pc-linux-gnu-g++ PIC flag -fPIC -DPIC works... yes checking if x86_64-pc-linux-gnu-g++ static flag -static works... yes checking if x86_64-pc-linux-gnu-g++ supports -c -o file.o... yes checking if x86_64-pc-linux-gnu-g++ supports -c -o file.o... (cached) yes checking whether the x86_64-pc-linux-gnu-g++ linker (/usx86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for x86_64-pc-linux-gnu-pkg-config... /usbin/x86_64-pc-linux-gnu-pkg-config checking pkg-config is at least version 0.21... yes checking for cos in -lm... yes checking for x86_64-pc-linux-gnu-pkg-config... (cached) /usbin/x86_64-pc-linux-gnu-pkg-config checking pkg-config is at least version 0.16... yes checking for valac... /usbin/valac-0.46 checking whether /usbin/valac-0.46 is at least version 0.34.0... yes checking for vapigen... /usbin/vapigen-0.46 checking for GNOMEMENU3... no configure: error: Package requirements (libgnome-menu-3.0) were not met: Package 'libgnome-menu-3.0', required by 'virtual:world', not found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GNOMEMENU3_CFLAGS and GNOMEMENU3_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. !!! Please attach the following file when seeking support: !!! /vatmp/portage/x11-misc/plank-0.11.89/work/plank-0.11.89/config.log * ERROR: x11-misc/plank-0.11.89::elementary failed (configure phase): * econf failed * * Call stack: * ebuild.sh, line 125: Called src_configure * environment, line 1850: Called econf '--disable-debug' '--enable-nls' '--enable-dbusmenu' * phase-helpers.sh, line 681: Called __helpers_die 'econf failed' * isolated-functions.sh, line 112: Called die * The specific snippet of code: * die "[email protected]" * * If you need support, post the output of `emerge --info '=x11-misc/plank-0.11.89::elementary'`, * the complete build log and the output of `emerge -pqv '=x11-misc/plank-0.11.89::elementary'`. * The complete build log is located at '/vatmp/portage/x11-misc/plank-0.11.89/temp/build.log'. * The ebuild environment file is located at '/vatmp/portage/x11-misc/plank-0.11.89/temp/environment'. * Working directory: '/vatmp/portage/x11-misc/plank-0.11.89/work/plank-0.11.89' * S: '/vatmp/portage/x11-misc/plank-0.11.89/work/plank-0.11.89' >>> Failed to emerge x11-misc/plank-0.11.89, Log file: >>> '/vatmp/portage/x11-misc/plank-0.11.89/temp/build.log' * Messages for package x11-misc/plank-0.11.89: * ERROR: x11-misc/plank-0.11.89::elementary failed (configure phase): * econf failed * * Call stack: * ebuild.sh, line 125: Called src_configure * environment, line 1850: Called econf '--disable-debug' '--enable-nls' '--enable-dbusmenu' * phase-helpers.sh, line 681: Called __helpers_die 'econf failed' * isolated-functions.sh, line 112: Called die * The specific snippet of code: * die "[email protected]" * * If you need support, post the output of `emerge --info '=x11-misc/plank-0.11.89::elementary'`, * the complete build log and the output of `emerge -pqv '=x11-misc/plank-0.11.89::elementary'`. * The complete build log is located at '/vatmp/portage/x11-misc/plank-0.11.89/temp/build.log'. * The ebuild environment file is located at '/vatmp/portage/x11-misc/plank-0.11.89/temp/environment'. * Working directory: '/vatmp/portage/x11-misc/plank-0.11.89/work/plank-0.11.89' * S: '/vatmp/portage/x11-misc/plank-0.11.89/work/plank-0.11.89' 
2)Output of command - emerge --info '=x11-misc/plank-0.11.89::elementary'
Portage 2.3.99 (python 3.7.7-final-0, default/linux/amd64/17.1/desktop, gcc-9.3.0, glibc-2.30-r8, 5.4.28-gentoo-x86_64 x86_64) ================================================================= System Settings ================================================================= System uname: Li[email protected]_2.60GHz-with-gentoo-2.6 KiB Mem: 16208700 total, 10999324 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sat, 23 May 2020 14:30:01 +0000 Head commit of repository gentoo: 1bebd3227ed82df26c9c8979cfc4de5d177c8ec5 sh bash 5.0_p17 ld GNU ld (Gentoo 2.33.1 p2) 2.33.1 app-shells/bash: 5.0_p17::gentoo dev-lang/perl: 5.30.1::gentoo dev-lang/python: 2.7.18::gentoo, 3.6.10-r2::gentoo, 3.7.7-r2::gentoo, 3.8.2-r2::gentoo dev-util/cmake: 3.16.5::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.16.1-r1::gentoo sys-devel/binutils: 2.33.1-r1::gentoo sys-devel/gcc: 9.3.0::gentoo sys-devel/gcc-config: 2.2.1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 5.4::gentoo (virtual/os-headers) sys-libs/glibc: 2.30-r8::gentoo Repositories: gentoo location: /vadb/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes elementary location: /valib/layman/elementary masters: gentoo priority: 50 vortex location: /valib/layman/vortex masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=ivybridge -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usshare/config /usshare/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/vacache/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="rsync://ftp.vectranet.pl/gentoo/ https://gentoo.wheel.sk/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/vacache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/vatmp" USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus dri dts dvd dvdr elogind emboss encode exif flac fortran gdbm gif glamor gpm gtk iconv icu ipv6 jpeg lcms ldap libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp spell split-usr ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis wifi wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="intel i915 nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS 

submitted by akowsky to Gentoo [link] [comments]

Installing CMake requires CMake?

Hello all,
I've been away from Gentoo for a year, but I'm coming back and trying to install it on a Lenovo Thinkpad X250. My goal is Gentoo without systemd, with Wayland and Sway, eventually migrating (once stable) to hardened+selinux. I used the current-stage3-amd64 build and followed Full Disk Encryption From Scratch Simplified. My systems boots perfectly to runlevel 3 and has no issues with LUKS or networking.
Since first boot, I have installed lm-sensors and laptop-mode-tools, following the wiki for appropriate kernel options to recompile with. Then I wanted to install Wayland + Sway, so I installed dev-libs/wayland, then tried installing gui-wm/sway, but the dependencies failed on graphite2.
I updated the system with emerge -avuDU --keep-going --with-bdeps=y @world, I think graphite2 finished at that point, but then another dependency failed to install. One of the lines was meson: command not found, so I installed meson. Repeat. "ninja: command not found". So I install ninja. Repeat. "cmake: command not found". So I try to install cmake. Except when I install cmake, I get "cmake: command not found".
Is something wrong with my installation? I don't remember these issues last year, and was able to get to a X11/KDE environment without issue.

Here is my build.log for cmake
 * Package: dev-util/cmake-3.14.6 * Repository: gentoo * Maintainer: [email protected] * USE: abi_x86_64 amd64 elibc_glibc kernel_linux ncurses userland_GNU * FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking cmake-3.14.6.tar.gz to /vatmp/portage/dev-util/cmake-3.14.6/work >>> Source unpacked in /vatmp/portage/dev-util/cmake-3.14.6/work >>> Preparing source in /vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6 ... * Applying cmake-3.4.0_rc1-darwin-bundle.patch ... [ ok ] * Applying cmake-3.14.0_rc3-prefix-dirs.patch ... [ ok ] * Applying cmake-3.14.0_rc1-FindBLAS.patch ... [ ok ] * Applying cmake-3.14.0_rc1-FindLAPACK.patch ... [ ok ] * Applying cmake-3.5.2-FindQt4.patch ... [ ok ] * Applying cmake-2.8.10.2-FindPythonLibs.patch ... patching file Modules/FindPythonLibs.cmake Hunk #1 succeeded at 117 with fuzz 2 (offset 43 lines). [ ok ] * Applying cmake-3.9.0_rc2-FindPythonInterp.patch ... [ ok ] * Working in BUILD_DIR: "/vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6_build" * Hardcoded definition(s) removed in CMakeLists.txt: * set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/") * Hardcoded definition(s) removed in Tests/JavaJavah/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/QtAutogen/UicInterface/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE ON) * Hardcoded definition(s) removed in Tests/JavaNativeHeaders/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/Qt4Deploy/CMakeLists.txt: * set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/install) * Hardcoded definition(s) removed in Tests/CPackComponents/CMakeLists.txt: * set(CMAKE_INSTALL_PREFIX "/opt/mylib") * Hardcoded definition(s) removed in Tests/SetLang/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/CMakeOnly/SelectLibraryConfigurations/CMakeLists.txt: * set(CMAKE_BUILD_TYPE Debug) * Hardcoded definition(s) removed in Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/Java/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/AssembleCMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/FindPackageTest/CMakeLists.txt: * set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/NotDefaultPrefix") * Hardcoded definition(s) removed in Tests/OutDiCMakeLists.txt: * set(CMAKE_BUILD_TYPE) * set(CMAKE_BUILD_TYPE Debug) * Hardcoded definition(s) removed in Tests/RunCMake/CPack/CMakeLists.txt: * set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "") * Hardcoded definition(s) removed in Tests/JavaExportImport/BuildExport/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/JavaExportImport/InstallExport/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/JavaExportImport/Import/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/Fortran/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/SubDirSpaces/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE 1) * Hardcoded definition(s) removed in Tests/CMakeCommands/target_compile_features/CMakeLists.txt: * set(CMAKE_VERBOSE_MAKEFILE ON) >>> Source prepared. >>> Configuring source in /vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6 ... * Working in BUILD_DIR: "/vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6_build" cmake -C /vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6_build/gentoo_common_config.cmake -G Unix Makefiles -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=no -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_DOC_DIR=/share/doc/cmake-3.14.6 -DCMAKE_MAN_DIR=/share/man -DCMAKE_DATA_DIR=/share/cmake -DSPHINX_MAN=no -DSPHINX_HTML=no -DBUILD_CursesDialog=yes -DBUILD_TESTING=no -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_TOOLCHAIN_FILE=/vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6_build/gentoo_toolchain.cmake /vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6 /vatmp/portage/dev-util/cmake-3.14.6/temp/environment: line 920: cmake: command not found * ERROR: dev-util/cmake-3.14.6::gentoo failed (configure phase): * cmake failed * * Call stack: * ebuild.sh, line 125: Called src_configure * environment, line 2230: Called cmake_src_configure * environment, line 920: Called die * The specific snippet of code: * "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed"; * * If you need support, post the output of `emerge --info '=dev-util/cmake-3.14.6::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-util/cmake-3.14.6::gentoo'`. * The complete build log is located at '/vatmp/portage/dev-util/cmake-3.14.6/temp/build.log'. * The ebuild environment file is located at '/vatmp/portage/dev-util/cmake-3.14.6/temp/environment'. * Working directory: '/vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6_build' * S: '/vatmp/portage/dev-util/cmake-3.14.6/work/cmake-3.14.6' 
And the output from emerge --info '=dev-util/cmake-3.14.6::gentoo'
Portage 2.3.84 (python 3.6.9-final-0, default/linux/amd64/17.1, gcc-9.2.0, glibc-2.29-r7, 4.19.97-gentoo-x86_64 x86_64) ================================================================= System Settings ================================================================= System uname: Lin[email protected]_2.30GHz-with-gentoo-2.6 KiB Mem: 16292612 total, 15779948 free KiB Swap: 4194300 total, 4194300 free Timestamp of repository gentoo: Mon, 03 Feb 2020 00:45:01 +0000 Head commit of repository gentoo: cf12d7fd5d98f5209513bcc9b93388e98d785fd5 sh bash 4.4_p23-r1 ld GNU ld (Gentoo 2.32 p2) 2.32.0 app-shells/bash: 4.4_p23-r1::gentoo dev-lang/perl: 5.30.1::gentoo dev-lang/python: 2.7.17::gentoo, 3.6.9::gentoo dev-util/cmake: 3.14.6::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.69-r4::gentoo sys-devel/automake: 1.16.1-r1::gentoo sys-devel/binutils: 2.32-r1::gentoo sys-devel/gcc: 9.2.0-r2::gentoo sys-devel/gcc-config: 2.1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers) sys-libs/glibc: 2.29-r7::gentoo Repositories: gentoo location: /vadb/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usshare/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/vacache/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="C" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j3" PKGDIR="/vacache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/vatmp" USE="acl amd64 berkdb bzip2 cli crypt cxx dri fortran gdbm iconv ipv6 libtirpc multilib ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl tcpd unicode wayland xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= dev-util/cmake-3.14.6::gentoo was built with the following: USE="ncurses -doc -emacs -qt5 -system-jsoncpp -test" ABI_X86="(64)" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox parallel-fetch preserve-libs protect-owned sandbox selinux sesandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" 
Thank you for looking at this! Any guidance would be appreciated!
submitted by ragnarok189 to Gentoo [link] [comments]

Problem running php on nginx ubuntu (files get downloaded)

Hi everyone,
I'm very new to php and ran into some issue that I have been trying to fix for a couple of hours.
I have setup Nginx on ubuntu 19.10, and installed php7.4-fpm. But whenever I try to open a file like index.php, located in my root folder /vawww/html (so localhost/index.php) it will download the file instead of running it.
Nginx is not communicating with php7.4-fpm, is my guess, but I can not find the mistake in my configuration files..

Could anyone take a look and spot what would be wrong.
Below I've put the files, in order
  1. /etc/nginx/fastcgi.conf:
  2. /etc/nginx/fastcgi_params:
  3. /etc/nginx/sites-enabled/server.conf
  4. /etc/nginx/mime.types
  5. /etc/php/7.4/fpm/php-fpm.conf
  6. /etc/php/7.4/fpm/pool.d/www.conf
  7. selection of /etc/php/7.4/fpm/php.ini since posting it all is too long
  8. output service nginx status & service php7.4-fpm status

If I'm looking at the wrong files or something and the error could be located elsewhere please guide me in the right direction.
And if you already read this far, I would like to thank you for your time!

1/etc/nginx/fastcgi.conf:


fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REQUEST_SCHEME $scheme; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; 

2. /etc/nginx/fastcgi_params:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REQUEST_SCHEME $scheme; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; 

3. /etc/nginx/sites-enabled/server.conf

# Version=2.1 server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; # # This file will be managed by ATK, and overwitten without warning. # # To enable external access please consider installing DuckDNS using ATK. # # For external access using a custom domain: # # 1) Make a copy of this file and rename it to match your domain # # ex: /etc/nginx/sites-available/mydomain.com.conf # # 2) Edit your file and replace the entire `server_name` line with `server_name mydomain.com;` # # (do not include IP addresses) # # 3) Run `sudo ln -s /etc/nginx/sites-available/mydomain.com.conf /etc/nginx/sites-enabled/mydomain.com.conf` # # 4) Run `sudo systemctl reload nginx` # # You can then use ATK to run Certbot on your custom domain for HTTPS # # You can also modify your new file to enabling some of the extra features below by uncommenting the lines # # If you modify your file you will need to rerun the command in step 4 above server_name 127.0.0.1 localhost 192.168.1.248 0.0.0.0; access_log /valog/nginx/server.atomic.access.log; error_log /valog/nginx/server.atomic.error.log; index index.html index.php; root /vawww/html/; client_body_buffer_size 128k; client_max_body_size 100M; send_timeout 5m; server_tokens off; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/varun/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi.conf;} location ~ /\.ht { deny all; } ## # Snippet Config ## include /etc/nginx/snippets/gzip.atomic.conf; # include /etc/nginx/snippets/headers-hsts.atomic.conf; # WARNING: Only enable Strict Transport after confirming HTTPS is working include /etc/nginx/snippets/headers.atomic.conf; # include /etc/nginx/snippets/https-redirect.atomic.conf; # WARNING: Only enable HTTPS Redirect after confirming HTTPS is working include /etc/nginx/snippets/letsencrypt.atomic.conf; include /etc/nginx/snippets/proxy.atomic.conf; # include /etc/nginx/snippets/ssl-dhparam.atomic.conf; # WARNING: Only enable dhparam after running `openssl dhparam -out /etc/nginx/dhparam.pem 4096` include /etc/nginx/snippets/ssl.atomic.conf; ## # App Location Config ## include /etc/nginx/locations-enabled/*.atomic.conf; ssl_certificate /etc/letsencrypt/live/****/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/****/privkey.pem; # managed by Certbot } 

4. /etc/nginx/mime.types

types { text/html html htm shtml; text/css css; text/xml xml; image/gif gif; image/jpeg jpeg jpg; application/javascript js; application/atom+xml atom; application/rss+xml rss; text/mathml mml; text/plain txt; text/vnd.sun.j2me.app-descriptor jad; text/vnd.wap.wml wml; text/x-component htc; image/png png; image/tiff tif tiff; image/vnd.wap.wbmp wbmp; image/x-icon ico; image/x-jng jng; image/x-ms-bmp bmp; image/svg+xml svg svgz; image/webp webp; application/font-woff woff; application/java-archive jar war ear; application/json json; application/mac-binhex40 hqx; application/msword doc; application/pdf pdf; application/postscript ps eps ai; application/rtf rtf; application/vnd.apple.mpegurl m3u8; application/vnd.ms-excel xls; application/vnd.ms-fontobject eot; application/vnd.ms-powerpoint ppt; application/vnd.wap.wmlc wmlc; application/vnd.google-earth.kml+xml kml; application/vnd.google-earth.kmz kmz; application/x-7z-compressed 7z; application/x-cocoa cco; application/x-java-archive-diff jardiff; application/x-java-jnlp-file jnlp; application/x-makeself run; application/x-perl pl pm; application/x-pilot prc pdb; application/x-rar-compressed rar; application/x-redhat-package-manager rpm; application/x-sea sea; application/x-shockwave-flash swf; application/x-stuffit sit; application/x-tcl tcl tk; application/x-x509-ca-cert der pem crt; application/x-xpinstall xpi; application/xhtml+xml xhtml; application/xspf+xml xspf; application/zip zip; application/octet-stream bin exe dll; application/octet-stream deb; application/octet-stream dmg; application/octet-stream iso img; application/octet-stream msi msp msm; application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; audio/midi mid midi kar; audio/mpeg mp3; audio/ogg ogg; audio/x-m4a m4a; audio/x-realaudio ra; video/3gpp 3gpp 3gp; video/mp2t ts; video/mp4 mp4; video/mpeg mpeg mpg; video/quicktime mov; video/webm webm; video/x-flv flv; video/x-m4v m4v; video/x-mng mng; video/x-ms-asf asx asf; video/x-ms-wmv wmv; video/x-msvideo avi; } 

5. /etc/php/7.4/fpm/php-fpm.conf

;;;;;;;;;;;;;;;;;;;;; ; FPM Configuration ; ;;;;;;;;;;;;;;;;;;;;; ; All relative paths in this configuration file are relative to PHP's install ; prefix (/usr). This prefix can be dynamically changed by using the ; '-p' argument from the command line. ;;;;;;;;;;;;;;;;;; ; Global Options ; ;;;;;;;;;;;;;;;;;; [global] ; Pid file ; Note: the default prefix is /var ; Default Value: none ; Warning: if you change the value here, you need to modify systemd ; service PIDFile= setting to match the value here. pid = /run/php/php7.4-fpm.pid ; Error log file ; If it's set to "syslog", log is sent to syslogd instead of being written ; into a local file. ; Note: the default prefix is /var ; Default Value: log/php-fpm.log error_log = /valog/php7.4-fpm.log ;syslog.facility = daemon ;syslog.ident = php-fpm ;log_level = notice ;log_limit = 4096 ;log_buffering = no ;emergency_restart_threshold = 0 ;emergency_restart_interval = 0 ;process_control_timeout = 0 ; process.max = 128 ; process.priority = -19 ; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. ; Default Value: yes ;daemonize = yes ;rlimit_files = 1024 ;rlimit_core = 0 ;events.mechanism = epoll ; When FPM is built with systemd integration, specify the interval, ; in seconds, between health report notification to systemd. ; Set to 0 to disable. ; Available Units: s(econds), m(inutes), h(ours) ; Default Unit: seconds ; Default value: 10 ;systemd_interval = 10 ;;;;;;;;;;;;;;;;;;;; ; Pool Definitions ; ;;;;;;;;;;;;;;;;;;;; ; Multiple pools of child processes may be started with different listening ; ports and different management options. The name of the pool will be ; used in logs and stats. There is no limitation on the number of pools which ; FPM can handle. Your system will tell you anyway :) ; Include one or more files. If glob(3) exists, it is used to include a bunch of ; files from a glob(3) pattern. This directive can be used everywhere in the ; file. ; Relative path can also be used. They will be prefixed by: ; - the global prefix if it's been set (-p argument) ; - /usr otherwise include=/etc/php/7.4/fpm/pool.d/*.conf 

6. /etc/php/7.4/fpm/pool.d/www.conf

; Start a new pool named 'www'. [www] ;prefix = /path/to/pools/$pool user = user group = user listen = /varun/php/php7.4-fpm.sock listen.owner = user listen.group = user ;listen.mode = 0660 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 ;chroot = ;chdir = /vawww ;catch_workers_output = yes ;decorate_workers_output = no ;clear_env = no 7. /etc/php/7.4/fpm/php.ini [PHP] engine = On short_open_tag = Off precision = 14 output_buffering = 4096 zlib.output_compression = Off implicit_flush = Off unserialize_callback_func = serialize_precision = -1 ;open_basedir = disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, disable_classes = zend.enable_gc = On zend.exception_ignore_args = On ;;;;;;;;;;;;;;;;; ; Miscellaneous ; ;;;;;;;;;;;;;;;;; expose_php = Off ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 360 max_input_time = 360 ;max_input_nesting_level = 64 ; How many GET/POST/COOKIE input variables may be accepted ;max_input_vars = 1000 ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 512M ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = Off display_startup_errors = Off log_errors = On log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On ;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; variables_order = "GPCS" request_order = "GP" register_argc_argv = Off auto_globals_jit = On post_max_size = 8M auto_prepend_file = auto_append_file = default_mimetype = "text/html" default_charset = "UTF-8" ;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;; doc_root = user_dir = enable_dl = Off ;cgi.force_redirect = 1 ;cgi.nph = 1 ;cgi.redirect_status_env = ;cgi.fix_pathinfo=1 ;cgi.discard_path=1 ;fastcgi.impersonate = 1 ;fastcgi.logging = 0 ;cgi.rfc2616_headers = 0 ;cgi.check_shebang_line=1 ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; file_uploads = On upload_max_filesize = 250M max_file_uploads = 20 ;;;;;;;;;;;;;;;;;; ; Fopen wrappers ; ;;;;;;;;;;;;;;;;;; allow_url_fopen = On allow_url_include = Off ;user_agent="PHP" default_socket_timeout = 320 ;auto_detect_line_endings = Off ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; ;extension=bz2 ;extension=curl ;extension=ffi ;extension=ftp ;extension=fileinfo ;extension=gd2 ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql ;extension=pdo_oci ;extension=pdo_odbc ;extension=pdo_pgsql ;extension=pdo_sqlite ;extension=pgsql ;extension=shmop ;extension=snmp ;extension=soap ;extension=sockets ;extension=sodium ;extension=sqlite3 ;extension=tidy ;extension=xmlrpc ;extension=xsl ;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;; [CLI Server] cli_server.color = On [Date] ;date.timezone = [filter] ; http://php.net/filter.default ;filter.default = unsafe_raw ; http://php.net/filter.default-flags ;filter.default_flags = [iconv] ;iconv.input_encoding = ;iconv.internal_encoding = ;iconv.output_encoding = [imap] ;imap.enable_insecure_rsh=0 [intl] ;intl.error_level = E_WARNING ;intl.use_exceptions = 0 [sqlite3] ;sqlite3.extension_dir = ;sqlite3.defensive = 1 [Pcre] ;pcre.backtrack_limit=10000 ;pcre.recursion_limit=100000 ;pcre.jit=1 [Pdo] ;pdo_odbc.connection_pooling=strict ;pdo_odbc.db2_instance_name [Pdo_mysql] ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. pdo_mysql.default_socket= [Phar] ; http://php.net/phar.readonly ;phar.readonly = On ; http://php.net/phar.require-hash ;phar.require_hash = On ;phar.cache_list = [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ;sendmail_from = [email protected] ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path ;sendmail_path = ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename mail.add_x_header = Off ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. ;mail.log = ; Log mail to syslog (Event Log on Windows). ;mail.log = syslog [ODBC] ; http://php.net/odbc.default-db ;odbc.default_db = Not yet implemented ; http://php.net/odbc.default-user ;odbc.default_user = Not yet implemented ; http://php.net/odbc.default-pw ;odbc.default_pw = Not yet implemented ; Controls the ODBC cursor model. ; Default: SQL_CURSOR_STATIC (default). ;odbc.default_cursortype ; Allow or prevent persistent links. ; http://php.net/odbc.allow-persistent odbc.allow_persistent = On ; Check that a connection is still valid before reuse. ; http://php.net/odbc.check-persistent odbc.check_persistent = On ; Maximum number of persistent links. -1 means no limit. ; http://php.net/odbc.max-persistent odbc.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. ; http://php.net/odbc.max-links odbc.max_links = -1 ; Handling of LONG fields. Returns number of bytes to variables. 0 means ; passthru. ; http://php.net/odbc.defaultlrl odbc.defaultlrl = 4096 ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation ; of odbc.defaultlrl and odbc.defaultbinmode ; http://php.net/odbc.defaultbinmode odbc.defaultbinmode = 1 [MySQLi] ; Maximum number of persistent links. -1 means no limit. ; http://php.net/mysqli.max-persistent mysqli.max_persistent = -1 ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements ; http://php.net/mysqli.allow_local_infile ;mysqli.allow_local_infile = On ; Allow or prevent persistent links. ; http://php.net/mysqli.allow-persistent mysqli.allow_persistent = On ; Maximum number of links. -1 means no limit. ; http://php.net/mysqli.max-links mysqli.max_links = -1 ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look ; at MYSQL_PORT. ; http://php.net/mysqli.default-port mysqli.default_port = 3306 ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. ; http://php.net/mysqli.default-socket mysqli.default_socket = ; Default host for mysqli_connect() (doesn't apply in safe mode). ; http://php.net/mysqli.default-host mysqli.default_host = ; Default user for mysqli_connect() (doesn't apply in safe mode). ; http://php.net/mysqli.default-user mysqli.default_user = ; Default password for mysqli_connect() (doesn't apply in safe mode). ; Note that this is generally a *bad* idea to store passwords in this file. ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") ; and reveal this password! And of course, any users with read access to this ; file will be able to reveal the password as well. ; http://php.net/mysqli.default-pw mysqli.default_pw = ; Allow or prevent reconnect mysqli.reconnect = Off [mysqlnd] ; Enable / Disable collection of general statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. mysqlnd.collect_statistics = On ; Enable / Disable collection of memory usage statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. mysqlnd.collect_memory_statistics = Off ; Records communication from all extensions using mysqlnd to the specified log ; file. ; http://php.net/mysqlnd.debug ;mysqlnd.debug = ; Defines which queries will be logged. ;mysqlnd.log_mask = 0 ; Default size of the mysqlnd memory pool, which is used by result sets. ;mysqlnd.mempool_default_size = 16000 ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. ;mysqlnd.net_cmd_buffer_size = 2048 ; Size of a pre-allocated buffer used for reading data sent by the server in ; bytes. ;mysqlnd.net_read_buffer_size = 32768 ; Timeout for network requests in seconds. ;mysqlnd.net_read_timeout = 31536000 ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA ; key. ;mysqlnd.sha256_server_public_key = [OCI8] ;oci8.privileged_connect = Off ;oci8.max_persistent = -1 ;oci8.persistent_timeout = -1 ;oci8.ping_interval = 60 ;oci8.connection_class = ;oci8.events = Off ;oci8.statement_cache_size = 20 ;oci8.default_prefetch = 100 ;oci8.old_oci_close_semantics = Off [PostgreSQL] pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off ; Maximum number of persistent links. -1 means no limit. ; http://php.net/pgsql.max-persistent pgsql.max_persistent = -1 ; Maximum number of links (persistent+non persistent). -1 means no limit. ; http://php.net/pgsql.max-links pgsql.max_links = -1 pgsql.ignore_notice = 0 pgsql.log_notice = 0 [bcmath] ; Number of decimal digits for all bcmath functions. ; http://php.net/bcmath.scale bcmath.scale = 0 [browscap] ; http://php.net/browscap ;browscap = extra/browscap.ini [Session] session.save_handler = files ;session.save_path = "/valib/php/sessions" session.use_strict_mode = 0 ; Whether to use cookies. ; http://php.net/session.use-cookies session.use_cookies = 1 ; http://php.net/session.cookie-secure ;session.cookie_secure = session.use_only_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.cookie_httponly = session.cookie_samesite = ; Handler used to serialize data. php is the standard serializer of PHP. ; http://php.net/session.serialize-handler session.serialize_handler = php session.gc_probability = 0 session.gc_divisor = 1000 ; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. ; http://php.net/session.gc-maxlifetime session.gc_maxlifetime = 1440 session.referer_check = ; Set to {nocache,private,public,} to determine HTTP caching aspects ; or leave this empty to avoid sending anti-caching headers. ; http://php.net/session.cache-limiter session.cache_limiter = nocache ; Document expires after n minutes. ; http://php.net/session.cache-expire session.cache_expire = 180 session.use_trans_sid = 0 ; Default Value: 32 ; Development Value: 26 ; Production Value: 26 session.sid_length = 26 session.trans_sid_tags = "a=href,area=href,frame=src,form=" ; Default Value: "" ; Development Value: "" ; Production Value: "" ;session.trans_sid_hosts="" session.sid_bits_per_character = 5 ;session.upload_progress.enabled = On ;session.upload_progress.cleanup = On ;session.upload_progress.prefix = "upload_progress_" ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" ;session.upload_progress.freq = "1%" ;session.upload_progress.min_freq = "1" ; Only write session data when session data is changed. Enabled by default. ; http://php.net/session.lazy-write ;session.lazy_write = On [Assertion] ; Switch whether to compile assertions at all (to have no overhead at run-time) ; -1: Do not compile at all ; 0: Jump over assertion at run-time ; 1: Execute assertions ; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) ; Default Value: 1 ; Development Value: 1 ; Production Value: -1 ; http://php.net/zend.assertions zend.assertions = -1 ;assert.active = On ;assert.exception = On ;assert.warning = On ;assert.bail = Off ;assert.callback = 0 ;assert.quiet_eval = 0 [COM] ;com.typelib_file = ;com.allow_dcom = true ;com.autoregister_typelib = true ;com.autoregister_casesensitive = false ;com.autoregister_verbose = true ;com.code_page= [mbstring] ;mbstring.language = Japanese ;mbstring.internal_encoding = ;mbstring.http_input = ;mbstring.http_output = ;mbstring.encoding_translation = Off ;mbstring.detect_order = auto ;mbstring.substitute_character = none ;mbstring.func_overload = 0 ;mbstring.strict_detection = On ;mbstring.http_output_conv_mimetype= ;mbstring.regex_stack_limit=100000 ;mbstring.regex_retry_limit=1000000 [gd] ;gd.jpeg_ignore_warning = 1 [exif] ;exif.encode_unicode = ISO-8859-15 ;exif.decode_unicode_motorola = UCS-2BE ;exif.decode_unicode_intel = UCS-2LE ;exif.encode_jis = ;exif.decode_jis_motorola = JIS ;exif.decode_jis_intel = JIS [Tidy] tidy.clean_output = Off [soap] soap.wsdl_cache_enabled=1 soap.wsdl_cache_dir="/tmp" soap.wsdl_cache_ttl=86400 soap.wsdl_cache_limit = 5 [sysvshm] ;sysvshm.init_mem = 10000 [ldap] ; Sets the maximum number of open links or -1 for unlimited. ldap.max_links = -1 [dba] ;dba.default_handler= [opcache] ; Determines if Zend OPCache is enabled ;opcache.enable=1 ; Determines if Zend OPCache is enabled for the CLI version of PHP ;opcache.enable_cli=0 ; The OPcache shared memory storage size. ;opcache.memory_consumption=128 ; The amount of memory for interned strings in Mbytes. ;opcache.interned_strings_buffer=8 ; The maximum number of keys (scripts) in the OPcache hash table. ; Only numbers between 200 and 1000000 are allowed. ;opcache.max_accelerated_files=10000 ; The maximum percentage of "wasted" memory until a restart is scheduled. ;opcache.max_wasted_percentage=5 ;opcache.use_cwd=1 ;opcache.validate_timestamps=1 ;opcache.revalidate_freq=2 ;opcache.revalidate_path=0 ;opcache.save_comments=1 ;opcache.enable_file_override= ;opcache.optimization_level=0x7FFFBFFF ;opcache.dups_fix=0 ;opcache.blacklist_filename= ;opcache.max_file_size=0 ;opcache.consistency_checks=0 ;opcache.force_restart_timeout=180 ;opcache.error_log= ;opcache.log_verbosity_level=1 ;opcache.preferred_memory_model= ;opcache.protect_memory=0 ;opcache.restrict_api= ;opcache.mmap_base= ; Facilitates multiple OPcache instances per user (for Windows only). All PHP ; processes with the same cache ID and user share an OPcache instance. ;opcache.cache_id= ; Enables and sets the second level cache directory. ; It should improve performance when SHM memory is full, at server restart or ; SHM reset. The default "" disables file based caching. ;opcache.file_cache= ; Enables or disables opcode caching in shared memory. ;opcache.file_cache_only=0 ; Enables or disables checksum validation when script loaded from file cache. ;opcache.file_cache_consistency_checks=1 ; Implies opcache.file_cache_only=1 for a certain process that failed to ; reattach to the shared memory (for Windows only). Explicitly enabled file ; cache is required. ;opcache.file_cache_fallback=1 ; Enables or disables copying of PHP code (text segment) into HUGE PAGES. ; This should improve performance, but requires appropriate OS configuration. ;opcache.huge_code_pages=1 ; Validate cached file permissions. ;opcache.validate_permission=0 ; Prevent name collisions in chroot'ed environment. ;opcache.validate_root=0 ; If specified, it produces opcode dumps for debugging different stages of ; optimizations. ;opcache.opt_debug_level=0 ; Specifies a PHP script that is going to be compiled and executed at server ; start-up. ; http://php.net/opcache.preload ;opcache.preload= ; Preloading code as root is not allowed for security reasons. This directive ; facilitates to let the preloading to be run as another user. ; http://php.net/opcache.preload_user ;opcache.preload_user= ; Prevents caching files that are less than this number of seconds old. It ; protects from caching of incompletely updated files. In case all file updates ; on your site are atomic, you may increase performance by setting it to "0". ;opcache.file_update_protection=2 ; Absolute path used to store shared lockfiles (for *nix only). ;opcache.lockfile_path=/tmp [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. ;curl.cainfo = [openssl] ; The location of a Certificate Authority (CA) file on the local filesystem ; to use when verifying the identity of SSL/TLS peers. Most users should ; not specify a value for this directive as PHP will attempt to use the ; OS-managed cert stores in its absence. If specified, this value may still ; be overridden on a per-stream basis via the "cafile" SSL stream context ; option. ;openssl.cafile= ; If openssl.cafile is not specified or if the CA file is not found, the ; directory pointed to by openssl.capath is searched for a suitable ; certificate. This value must be a correctly hashed certificate directory. ; Most users should not specify a value for this directive as PHP will ; attempt to use the OS-managed cert stores in its absence. If specified, ; this value may still be overridden on a per-stream basis via the "capath" ; SSL stream context option. ;openssl.capath= [ffi] ; FFI API restriction. Possible values: ; "preload" - enabled in CLI scripts and preloaded files (default) ; "false" - always disabled ; "true" - always enabled ;ffi.enable=preload ; List of headers files to preload, wildcard patterns allowed. ;ffi.preload= 

8. output service nginx status & service php7.4-fpm status


# sudo service php7.4-fpm status ● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-03-03 17:01:34 CET; 1min 59s ago Docs: man:php-fpm7.4(8) Process: 620 ExecStartPost=/uslib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited, status=0/SUCCESS) Main PID: 598 (php-fpm7.4) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 4915) Memory: 12.4M CGroup: /system.slice/php7.4-fpm.service ├─598 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) ├─618 php-fpm: pool www └─619 php-fpm: pool www Mär 03 17:01:34 user systemd[1]: Starting The PHP 7.4 FastCGI Process Manager... Mär 03 17:01:34 user systemd[1]: Started The PHP 7.4 FastCGI Process Manager. 

# sudo service nginx status ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-03-03 17:01:39 CET; 2s ago Docs: man:nginx(8) Process: 639 ExecStartPre=/ussbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 657 ExecStart=/ussbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 658 (nginx) Tasks: 5 (limit: 4915) Memory: 4.9M CGroup: /system.slice/nginx.service ├─658 nginx: master process /ussbin/nginx -g daemon on; master_process on; ├─659 nginx: worker process ├─660 nginx: worker process ├─661 nginx: worker process └─662 nginx: worker process Mär 03 17:01:39 user systemd[1]: Starting A high performance web server and a reverse proxy server... Mär 03 17:01:39 user systemd[1]: Started A high performance web server and a reverse proxy server. 
submitted by xmr123 to PHPhelp [link] [comments]

Rails 6, Tailwind and Heroku

Has anyone here run into any issues with heroku and tailwind? It seems that my tailwind styles are not being applied.
Per: https://github.com/rails/webpackeissues/1164#issuecomment-432513837 I see that the OP confirmed that worked and my Procfile looks like this:
web: bundle exec puma -t 5:5 -p ${PORT:-3000}
webpack: bin/webpack-dev-server
I should say that I have scss with tailwind. I'm starting to wonder if its because Im missing an extra step to compile scss for production?



Enumerating objects: 133, done.
Counting objects: 100% (99/99), done.
Delta compression using up to 12 threads
Compressing objects: 100% (52/52), done.
Writing objects: 100% (53/53), 5.10 KiB | 307.00 KiB/s, done.
Total 53 (delta 43), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: --- Node.js app detected
remote:
remote: --- Creating runtime environment
remote:
remote: NPM_CONFIG_LOGLEVEL=error
remote: NODE_ENV=production
remote: NODE_MODULES_CACHE=true
remote: NODE_VERBOSE=false
remote:
remote: --- Installing binaries
remote: engines.node (package.json): unspecified
remote: engines.npm (package.json): unspecified (use default)
remote: engines.yarn (package.json): unspecified (use default)
remote:
remote: Resolving node version 12.x...
remote: Downloading and installing node 12.14.0...
remote: Using default npm version: 6.13.4
remote: Resolving yarn version 1.x...
remote: Downloading and installing yarn (1.21.1)...
remote: Installed yarn 1.21.1
remote:
remote: --- Restoring cache
remote: - yarn cache
remote:
remote: --- Installing dependencies
remote: Installing node modules (yarn.lock)
remote: yarn install v1.21.1
remote: [1/4] Resolving packages...
remote: [2/4] Fetching packages...
remote: info [email protected]: The platform "linux" is incompatible with this module.
remote: info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
remote: [3/4] Linking dependencies...
remote: warning " > [email protected]" has unmet peer dependency "[email protected]^4.0.0 || ^5.0.0".
remote: warning "webpack-dev-server > [email protected]" has unmet peer dependency "[email protected]^4.0.0".
remote: [4/4] Building fresh packages...
remote: Done in 16.57s.
remote:
remote: --- Build
remote:
remote: --- Pruning devDependencies
remote: yarn install v1.21.1
remote: [1/4] Resolving packages...
remote: [2/4] Fetching packages...
remote: info [email protected]: The platform "linux" is incompatible with this module.
remote: info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
remote: [3/4] Linking dependencies...
remote: warning " > [email protected]" has unmet peer dependency "[email protected]^4.0.0 || ^5.0.0".
remote: warning "webpack-dev-server > [email protected]" has unmet peer dependency "[email protected]^4.0.0".
remote: [4/4] Building fresh packages...
remote: warning Ignored scripts due to flag.
remote: Done in 6.35s.
remote:
remote: --- Caching build
remote: - yarn cache
remote:
remote: --- Build succeeded!
remote: ! Unmet dependencies don't fail yarn install but may cause runtime issues
remote: https://github.com/npm/npm/issues/7494
remote:
remote: --- Ruby app detected
remote: --- Compiling Ruby/Rails
remote: --- Using Ruby version: ruby-2.7.0
remote: --- Vendoring libpq 5.12.1
remote: --- Removing BUNDLED WITH version in the Gemfile.lock
remote: --- Installing dependencies using bundler 2.0.2
remote: Running: bundle install --without development:test --path vendobundle --binstubs vendobundle/bin -j4 --deployment
remote: [DEPRECATED] The `--deployment` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set deployment 'true'`, and stop using this flag
remote: [DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path 'vendobundle'`, and stop using this flag
remote: [DEPRECATED] The `--without` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set without 'development:test'`, and stop using this flag
remote: [DEPRECATED] The --binstubs option will be removed in favor of `bundle binstubs`
remote: The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
remote: Using rake 13.0.1
remote: Using concurrent-ruby 1.1.5
remote: Using i18n 1.7.0
remote: Using minitest 5.13.0
remote: Using thread_safe 0.3.6
remote: Using tzinfo 1.2.6
remote: Using zeitwerk 2.2.2
remote: Using activesupport 6.0.2.1
remote: Using builder 3.2.4
remote: Using erubi 1.9.0
remote: Using mini_portile2 2.4.0
remote: Using nokogiri 1.10.7
remote: Using rails-dom-testing 2.0.3
remote: Using crass 1.0.5
remote: Using loofah 2.4.0
remote: Using rails-html-sanitizer 1.3.0
remote: Using actionview 6.0.2.1
remote: Using rack 2.0.8
remote: Using rack-test 1.1.0
remote: Using actionpack 6.0.2.1
remote: Using nio4r 2.5.2
remote: Using websocket-extensions 0.1.4
remote: Using websocket-driver 0.7.1
remote: Using actioncable 6.0.2.1
remote: Using globalid 0.4.2
remote: Using activejob 6.0.2.1
remote: Using activemodel 6.0.2.1
remote: Using activerecord 6.0.2.1
remote: Using mimemagic 0.3.3
remote: Using marcel 0.3.3
remote: Using activestorage 6.0.2.1
remote: Using mini_mime 1.0.2
remote: Using mail 2.7.1
remote: Using actionmailbox 6.0.2.1
remote: Using actionmailer 6.0.2.1
remote: Using actiontext 6.0.2.1
remote: Using public_suffix 4.0.2
remote: Using addressable 2.7.0
remote: Using aws_cf_signer 0.1.3
remote: Using bcrypt 3.1.13
remote: Using msgpack 1.3.1
remote: Using bootsnap 1.4.5
remote: Using bundler 2.1.2
remote: Using chartkick 3.3.1
remote: Using http-accept 1.7.0
remote: Using unf_ext 0.0.7.6
remote: Using unf 0.1.4
remote: Using domain_name 0.5.20190701
remote: Using http-cookie 1.0.3
remote: Using mime-types-data 3.2019.1009
remote: Using mime-types 3.3.1
remote: Using netrc 0.11.0
remote: Using rest-client 2.1.0
remote: Using cloudinary 1.13.1
remote: Using multipart-post 2.1.1
remote: Using faraday 1.0.0
remote: Using json 2.3.0
remote: Using ffi 1.11.3
remote: Using sys-uname 1.1.1
remote: Using conekta 2.4.1
remote: Using orm_adapter 0.5.0
remote: Using method_source 0.9.2
remote: Using thor 1.0.1
remote: Using railties 6.0.2.1
remote: Using responders 3.0.0
remote: Using warden 1.2.8
remote: Using devise 4.7.1
remote: Using faker 2.1.2
remote: Using inline_svg 1.6.0
remote: Using jbuilder 2.9.1
remote: Using mini_magick 4.9.5
remote: Using pg 0.21.0
remote: Using puma 4.3.1
remote: Using pundit 2.1.0
remote: Using rack-proxy 0.6.5
remote: Using sprockets 4.0.0
remote: Using sprockets-rails 3.2.1
remote: Using rails 6.0.2.1
remote: Using sassc 2.2.1
remote: Using tilt 2.0.10
remote: Using sassc-rails 2.1.2
remote: Using sass-rails 6.0.0
remote: Using turbolinks-source 5.2.0
remote: Using turbolinks 5.2.1
remote: Using valid_url 0.0.4
remote: Using webpacker 4.2.2
remote: Bundle complete! 30 Gemfile dependencies, 86 gems now installed.
remote: Gems in the groups development and test were not installed.
remote: Bundled gems are installed into `./vendobundle`
remote: Removing bundler (2.0.2)
remote: Bundle completed (0.53s)
remote: Cleaning up the bundler cache.
remote: --- Detecting rake tasks
remote: --- Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/vendobundle/ruby/2.7.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/stack.rb:37: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
remote: /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/vendobundle/ruby/2.7.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/static.rb:110: warning: The called method `initialize' is defined here
remote: /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/vendobundle/ruby/2.7.0/gems/activerecord-6.0.2.1/lib/active_record/type.rb:27: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
remote: /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/vendobundle/ruby/2.7.0/gems/activerecord-6.0.2.1/lib/active_record/type/adapter_specific_registry.rb:9: warning: The called method `add_modifier' is defined here
remote: yarn install v1.21.1
remote: [1/4] Resolving packages...
remote: [2/4] Fetching packages...
remote: warning [email protected]: Invalid bin entry for "sha.js" (in "sha.js").
remote: info [email protected]: The platform "linux" is incompatible with this module.
remote: info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
remote: [3/4] Linking dependencies...
remote: warning " > [email protected]" has unmet peer dependency "[email protected]^4.0.0 || ^5.0.0".
remote: warning "webpack-dev-server > [email protected]" has unmet peer dependency "[email protected]^4.0.0".
remote: [4/4] Building fresh packages...
remote: Done in 31.26s.
remote: yarn install v1.21.1
remote: [1/4] Resolving packages...
remote: success Already up-to-date.
remote: Done in 1.01s.
remote: Compiling...
remote: Compiled all packs in /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/public/packs
remote: Browserslist: caniuse-lite is outdated. Please run next command `yarn upgrade`
remote:
remote: Asset precompilation completed (87.17s)
remote: Cleaning assets
remote: Running: rake assets:clean
remote: /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/vendobundle/ruby/2.7.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/stack.rb:37: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
remote: /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/vendobundle/ruby/2.7.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/static.rb:110: warning: The called method `initialize' is defined here
remote: /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/vendobundle/ruby/2.7.0/gems/activerecord-6.0.2.1/lib/active_record/type.rb:27: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
remote: /tmp/build_9bf9f9503ea863034fcb77a72a6f4c51/vendobundle/ruby/2.7.0/gems/activerecord-6.0.2.1/lib/active_record/type/adapter_specific_registry.rb:9: warning: The called method `add_modifier' is defined here
remote: --- Detecting rails configuration
remote:
remote: ###### WARNING:
remote:
remote: You set your `config.active_storage.service` to :local in production.
remote: If you are uploading files to this app, they will not persist after the app
remote: is restarted, on one-off dynos, or if the app has multiple dynos.
remote: Heroku applications have an ephemeral file system. To
remote: persist uploaded files, please use a service such as S3 and update your Rails
remote: configuration.
remote:
remote: For more information can be found in this article:
remote: https://devcenter.heroku.com/articles/active-storage-on-heroku
remote:
remote:
remote:
remote: ###### WARNING:
remote:
remote: We detected that some binary dependencies required to
remote: use all the preview features of Active Storage are not
remote: present on this system.
remote:
remote: For more information please see:
remote: https://devcenter.heroku.com/articles/active-storage-on-heroku
remote:
remote:
remote:
remote:
remote: --- Discovering process types
remote: Procfile declares types -> web
remote: Default types for buildpack -> console, rake
remote:
remote: --- Compressing...
remote: Done: 112.8M
remote: --- Launching...
remote: Released v34
remote: https://*******.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/\*\*\*\*\*\*\*\*.git
cb8a5c1..826de72 master -> master
submitted by codingideas to rails [link] [comments]

"Add to Desktop" Produces Strange Results

System: Mint 19.2 Cinnamon Kernel: 4.15.0-72-generic
Motherboard: ASUS ROG STRIX B450-F CPU: AMD Ryzen 5 2600 RAM: GeIL Evo Potenza 2x 8Gb Graphics: MSI GeForce GT 710 1Gb Storage: Crucial P1 500GB SSD ; Seagate Barracuda 2TB 7200RPM
I recently installed Mint 19.2 Cinnamon on a brand new machine, and I've encountered a strange bug-- the "add to desktop" feature does not work as expected.
Behavior starts when I go to "Menu", move to "All Applications," then right click on "Firefox Web Browser" and select "Add to Desktop."
[EDIT: To clarify, this happens on all applications I try to add to desktop. Firefox is used purely as an example]
What I expect: A new item to appear on the desktop with the Firefox icon, and the name "Firefox Web Browser." When clicked, this icon will cleanly open a new Firefox window.
What Actually Happens: A new item appears on the desktop, with a generic icon and the title "firefox.desktop" When clicked, this triggers the following message:
"The application launcher "firefox.desktop" has not been marked as trusted (executable). If you do not know the source of this file, launching it may be unsafe.
[Launch Anyway] [Mark as Trusted] [Cancel]"
When I open firefox.desktop in text editor, I get this [multiple languages removed to improve readability, full version in comments]
[Desktop Entry] Version=1.0 Name=Firefox Web Browser #Repeated in a lot of languages Comment=Browse the World Wide Web #Repeated in a lot of languages GenericName=Web Browser #Repeated in a lot of languages Keywords=Internet;WWW;Browser;Web;Explorer #Repeated in a lot of languages Exec=firefox %u Terminal=false X-MultipleArgs=false Type=Application Icon=firefox Categories=GNOME;GTK;Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handlehttp;x-scheme-handlehttps;x-scheme-handleftp;x-scheme-handlechrome;video/webm;application/x-xpinstall; StartupNotify=true Actions=new-window;new-private-window; [Desktop Action new-window] Name=Open a New Window #Repeated in a lot of languages Exec=firefox -new-window [Desktop Action new-private-window] Name=Open a New Private Window #Repeated in a lot of languages Exec=firefox -private-window 
How do I make this behave correctly?
Thanks in advance!
The Solution: The problem turned out to be a bad /etc/fstab entry. I have the 2TB Seagate mounted to /home. When I configured /etc/fstab, I accidentally put the "exec" option before the "user" option. "User" implies "noexec" unless "exec" is after "user" in the entry. When "noexec" is set or implied, it prevents the execution of binaries on the affected filesystem.... such as a launcher located in /home/useDesktop.
The man page for "mount" covers a lot of the specifics of why this can happen.
tl;dr-- If your /home directory is located on another partition, make sure that "exec" is correctly set, or use "defaults."
submitted by Uncle_Duke to linuxmint [link] [comments]

Polimorphic.com -- Haskell Web Development using Miso in Production

For a brief intro to the product. Polimorphic is a personalized political information platform that makes it incredibly easy to track and connect with your politicians and key issues. I'd love for you to sign up: you'd get a personalized news feed tailored to your representatives and interests, as well as a daily/weekly email digest telling you what your politicians are up to on the topics you care about.
Polimorphic's codebase is written in Haskell. We have found Haskell to be a great pleasure to work with and thought it would be worthwhile to do a technical writeup for this sub. There are a few different key packages that make up the project:
The database layer:
Uses Persistent and Esqueleto to define everything database related.
Data..Types: Domain specific types with PersistField instances to store in columns
Data.Internal: Large QuasiQuote laying out the whole Database
Data.: Re-exports the fields and types that should be used outside of this package
Data..Utils: Various utilities and integrity checkers
Data: Re-exports everything except the utilities
Data.Utils: Re-exports all the utilities
We are generally happy with this setup. Persistent and Esqueleto are great libraries. My biggest complaint would be the Entity-type, although that's more the fault of Haskell the language not supporting extensible records. The Entity approach involves a fair amount of boilerplate, and doesn't allow for DB defaults that aren't specified on the Haskell side, you must always fill out every field before you send the model to the database to be inserted. It would also be nice to have indices managed by Persistent instead of a separate .sql file.
It has been easy to extend Persistent/Esqueleto for things like postgis, see here and here, and having the full power of SQL available rather than anything overly ORM-y has been very nice.
For migrations we try to use Persistent's auto-migrations when possible, and when that fails we write and commit a sql script, and then delete it once we are done with it.
The web layer:
This is the main focus of this post. Our web layer is written using GHCJS and Miso, and we have found it to be an absolutely fantastic experience, even my new to Haskell cofounder can corroborate that it is better than any JS frontend framework he has used in the past.
I will go into fair amount of detail on our structure, as we have found it to be very modular and to scale very well as the codebase grows (20k-ish LOC for web).
Web.Components..State: Various types relevant to the component, including three important types: the State that contains all the state "owned" by that component, the Action that is a big sum type of all possible actions that the component can create, and the Output which is specifically for Actions that a parent component should handle (logging in a user or changing the URI).
Web.Components..View: The view function for that component, with a type like Extra -> State -> View Action, that converts the state of that component + extra info from the parent into the appropriate HTML, which fires back Action's specific to that component.
Web.Components..Handler: The handler function for that component, with a type like Extra -> Action -> State -> Effect Action Output, which parent components should call passing in the current component state and the received action, and it will receive further actions it should send right back to the handler, as well as outputs it must deal with itself. There are some commonly seen actions including Load which initializes the component state as needed via api calls, and Modify which takes in a state modifying function and tells the parent to modify its state.
Web.Components..Database: All the DB functions needed for the component, with types like MonadIO m => Foo -> ReaderT SqlBackend m Bar.
Web.Components..Load: Contains the load function of type Maybe UserId -> State -> ReaderT SqlBackend Handler State which essentially replaces the Load action from above in order to do server side rendering for SEO/UX on initial page load. All subsequent links are handled client side and involve the Load action instead. Calls into Database module.
Web.Components..Rpc.Api: Contains the Servant API for all communication needed between the server and the client by this component.
Web.Components..Rpc.Server: Contains the Servant Server that matches the above Api for the backend to run. Calls into Database module.
Web.Components..Rpc.Client: Contains the auto-generated client functions via servant-client-ghcjs.
Web.Components..Meta: Functions for converting from the Component's state to metadata for og-meta tags like the title / image / description.
Most of the above also have a top level equivalent, as you can think of the top level app as just another component.
Web.Urls: All the public URLs that you might want to link to in Servant form, actually in a separate package so that various other projects can use them, this is separate from the above Rpc Servant Api.
Web.Router: router that effectively has type RouteT Urls (FooBarBaz -> State), although it has been convoluted somewhat to work with Servant, since RouteT cannot easily be mapped over. FooBarBaz is things like info about the current logged in user. The client copies it over from the existing state, and the server generates it via cookies + DB querying.
Web.Server: Runnable application that adds things like logging and everything that goes in and then calls into the above router and view to create a Servant/Warp server that runs everything.
Web.Client: Runnable GHCJS application that boots Miso and hooks it up to the server side rendered content.
The key aspect of making this as modular and scalable as possible is making components interact with each other as nicely as possible. The general idea with that is that the parent state stores the state of its children, and the parent view calls the child views passing in their state + any needed extra info. One non-trivial aspect is that the parent's Action type actually contains the child Action types in the sum, e.g data Action = Foo | Bar | ChildAction Child.Action. Then you can do the following output <- first ChildAction $ Child.handler (state ^. childState) and do what you want with the output, and the actions created by the child won't be lost.
Overall we have been extremely happy with our Miso-based web setup. The performance is pretty darn solid, the GHCJS binary size is not ideal but it's not too problematic either. When compared with JS libraries we of course have all the huge advantages of Haskell as a whole, types and expressiveness and so on. The feature-set also contains basically everything we have needed, from server side rendering to client side URL handling, with minimal FFI for interacting with the occasional 3rd party library.
The miners/cli/emailer:
These I would say don't need as much detail, as the structuring aspect itself is somewhat simpler due to them being single commands that you run at will or call as scheduled tasks.
The miners use scalpel, aeson and servant client to query various government sources and store it in the db.
The cli provides various convenience functions like Persistents migration-printing / executing as well as the integrity checker that checks invariants not enforced by postgresql such as any data that has been denormalized for perf reasons, or just things that are hard to model in SQL.
The emailer uses mime-mail and HaskellNet to send emails, the HTML for the emails is generated using lucid.
Other stuff:
We use nix + cabal to develop and deploy everything, using a mixture of MacOS and Ubuntu for development, and Ubuntu for deployment. For production we just use nix-build, but for development speed we use nix-shell + cabal new-build. We use reflex-platform to set all this nix stuff up.
Generally developing in Haskell has been fantastic. On-boarding has honestly not been an issue, as most of the code is in various intuitive EDSL's like Miso, Esqueleto, Servant or Persistent, that you can basically figure out by looking at the exiting code. So you can become quite productive quite early on, and as you become familiar with how Haskell really works, then you can expand what parts of the code you are able to work on.
Now for biggest pain points. Interacting with large amounts of random data types is more painful than it needs to be due to lack of extensible rows/records/variants. Lots of verbose prefixes and exports, and some conversion functions that would otherwise be a lot smaller (insert into record vs copy over and rename every field). Compile time and particularly link time improvements would also help development speed, although they aren't a huge bottleneck.
We have released source code for things we think might be useful to other people here. Not planning on adding them to hackage anytime soon, but if they start getting attention that is definitely an option.
I'm happy to answer any questions regarding the company or the underlying technology. I am also open to making an example codebase / tutorial demonstrating the above architecture, although it would take a good amount of time and effort, so only if there is significant interest.
submitted by Tysonzero to haskell [link] [comments]

An HTTP client in CIDLib

I've just been occasionally posting examples of how to do this or that within my CIDLib development system. In this case it demonstrates how you'd implement an HTTP client in a CIDLib based application. It's just a command line sample, which gets a URL from you, parses it, does a redirection enabled GET, and displays info about the results. If it's recognizable as text, it decodes it and displays the text content.
This guy uses the text encoding and networking libraries, and indirectly the things that they depend on, such as sockets, secure sockets, cryptography, and the core CIDLib library that provides all of the fundamental bits.)
#include "CIDEncode.hpp" #include "CIDNet.hpp" // ---------------------------------------------------------------------------- // Local data // ---------------------------------------------------------------------------- static TTextFileOutStream strmOut(tCIDLib::EStdFiles::StdOut); // ---------------------------------------------------------------------------- // For a basic sample, we just start up on a global function. // ---------------------------------------------------------------------------- tCIDLib::EExitCodes eMainThreadFunc(TThread&, tCIDLib::TVoid*); CIDLib_MainModule(TThread(L"HTTPClient1MainThread", eMainThreadFunc)) // ---------------------------------------------------------------------------- // Local functions // ---------------------------------------------------------------------------- static tCIDLib::TVoid ShowUsage(TTextOutStream& strmOut) { strmOut << L"Usage:\n" L" HTTPClient1 /URL=url [/Fmt=[MIMETYPE] /Close]\n\n" L" /Fmt= indicates an 'accept' MIME type, else it accepts text\n" L" /URL= indicates a fully qualified URL to GET\n" << kCIDLib::FlushIt; } // ---------------------------------------------------------------------------- // Program entry point // ---------------------------------------------------------------------------- tCIDLib::EExitCodes eMainThreadFunc(TThread& thrThis, tCIDLib::TVoid*) { // We have to let our calling thread go first thrThis.Sync(); // Output a little program blurb strmOut << L"\nHTTPClient1.Exe\n" << L"CIDLib HTTP Client Demo #1\n" << kCIDLib::EndLn; // Input values, which will be set/overridden by parms TString strRetFmt = L"text/*"; TString strURLText; // // Get the parameters and set up the URL. It should be a fully // qualified URL. These all fit the standard form for CIDLib params, // so we can call a little helper that will pre-parse them for us. It // uses the key/value/flag type, where the flag is false if was an // 'option' parameter i.e. just /XXX, and true if a value param, i.e. // /XXX=YYY // tCIDLib::TKVPFList colParms; const tCIDLib::TCard4 c4ParmCnt = TSysInfo::c4StdCmdLineParse(colParms); if ((c4ParmCnt < 1) || (c4ParmCnt > 2)) { ShowUsage(strmOut); return tCIDLib::EExitCodes::BadParameters; } // We have the right number, so iterate them and store the info away. const tCIDLib::TBoolean bBadParm = !colParms.bForEach ( [&](const TKeyValFPair& kvalfCur) { tCIDLib::TBoolean bGood = kCIDLib::False; if (kvalfCur.strKey().bCompareI(L"Fmt")) { if (kvalfCur.bFlag()) { strRetFmt = kvalfCur.strValue(); bGood = kCIDLib::True; } } else if (kvalfCur.strKey().bCompareI(L"URL")) { if (kvalfCur.bFlag()) { strURLText = kvalfCur.strValue(); bGood = kCIDLib::True; } } return bGood; } ); if (bBadParm || strURLText.bIsEmpty()) { ShowUsage(strmOut); return tCIDLib::EExitCodes::BadParameters; } // // Parse the URL, which must be fully qualified. To avoid an exception // we don't force the issue during parse but check it after. // TURL urlGet(strURLText, tCIDSock::EQualified::DontCare); if (!urlGet.bFullyQualified()) { strmOut << L"The URL must be fully qualified!" << kCIDLib::NewEndLn; return tCIDLib::EExitCodes::BadParameters; } // We only support HTTP and HTTPS if ((urlGet.eProto() != tCIDSock::EProtos::HTTP) && (urlGet.eProto() != tCIDSock::EProtos::HTTPS)) { strmOut << L"This program only supports HTTP/HTTPS access" << kCIDLib::NewEndLn; return tCIDLib::EExitCodes::BadParameters; } // Some stuff that will be given back to us from the query tCIDLib::TCard4 c4ContLen = 0; tCIDLib::TKVPList colInHdrs; tCIDLib::TKVPList colOutHdrs; tCIDNet::EHTTPCodes eCodeType; TString strContType; TString strRepLine; THeapBuf mbufCont(kCIDLib::c4Sz_32K); TString strUltimateURL; THTTPClient httpcGet; // // We have to create a data source in order to use the redirect aware // get, because it requires creating multiple connections potentially. // we create a regular socket based one or a secure one, depending on // the URL protocol. For simple socket sources there's a helper // to do this. // TCIDDataSrcJan janSrc ( facCIDNet().pcdsMakeSocketSrc(L"HTTP1 Client", urlGet) , tCIDLib::EAdoptOpts::Adopt , kCIDLib::True ); // Do the GET operation, handling redirection TString strFinalURL; tCIDLib::TCard4 c4Res = httpcGet.c4SendGetRedir ( janSrc , urlGet , TTime::enctNowPlusSecs(5) , L"CIDLib HTTP Client 1/1.0" , strRetFmt , eCodeType , strRepLine , colOutHdrs , strContType , mbufCont , c4ContLen , strFinalURL , colInHdrs ); // Dump the main results out strmOut << L" Reply Code: " << c4Res << kCIDLib::NewLn << L" Reply Text: " << strRepLine << kCIDLib::NewLn << L" Content Len: " << c4ContLen << kCIDLib::NewLn; if (strFinalURL != strURLText) strmOut << L" Final URL: " << strFinalURL << kCIDLib::NewLn; strmOut << kCIDLib::NewLn; // If we got header lines, dump those if (!colOutHdrs.bIsEmpty()) { strmOut << L"Header Lines:\n---------------------\n"; colOutHdrs.bForEach ( [](const TKeyValuePair& kvalCur) -> tCIDLib::TBoolean { strmOut << L" " << kvalCur.strKey() << L": " << kvalCur.strValue() << kCIDLib::NewLn; return kCIDLib::True; } ); strmOut << kCIDLib::NewLn; } // // If we have content, see if there is an explicit or discoverable text // encoding. If so, see if we support that encoding. If so, then let's // dump it out as text. // TString strEncoding; if (c4ContLen && TNetCoreParser::bFindTextEncoding(colOutHdrs, mbufCont, c4ContLen, strEncoding) && facCIDEncode().bSupportsEncoding(strEncoding)) { strmOut << L"\n\nBody Text\n-------------------------" << kCIDLib::NewEndLn; // // Create a text input stream over the buffer, giving it a text encoder // for the encoding we found. He adopts it. // TTextMBufInStream strmSrc ( tCIDLib::ForceMove(mbufCont) , c4ContLen , facCIDEncode().ptcvtMake(strEncoding, tCIDLib::ETCvtActs::StopThenThrow) ); // OK, just read and dump lines until we hit the end of the body content. TString strLine; while (!strmSrc.bEndOfStream()) { strmSrc >> strLine; strmOut << strLine << kCIDLib::NewLn; } strmOut << kCIDLib::EndLn; } else { strmOut << L"Body content is a binary or unknown text encoding" << kCIDLib::NewEndLn; } return tCIDLib::EExitCodes::Normal; } 
The output for Google's main page (truncating and ellipsing the longer bits) is:
 Reply Code: 200 Reply Text: OK Content Len: 11420 Header Lines: --------------------- Date: Sun, 28 Jul 2019 22:44:33 GMT Expires: -1 Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info." Server: gws X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN Set-Cookie: 1P_JAR=2019-07-28-22; expires=Tue, 27-Aug-2019 .... Set-Cookie: NID=188=vSJdj7UQqxjh9JpJvaSkop9WPhYs-.... Alt-Svc: quic=":443"; ma=2592000; v="46,43,39" Accept-Ranges: none Vary: Accept-Encoding Transfer-Encoding: chunked Content-Length: 11420 Body Text -------------------------  Dean_Roddey    to    cpp  [link]   [comments]

Wine 4.0 Released

The Wine development release 4.0 is now available.
 
https://www.winehq.org/announce/4.0 
 
This release represents a year of development effort and over 6,000 individual changes. It contains a large number of improvements that are listed in the release notes below. The main highlights are: - Vulkan support. - Direct3D 12 support. - Game controllers support. - High-DPI support on Android. 
 
The source is available from the following locations:
http://dl.winehq.org/wine/source/4.0/wine-4.0.tar.xz http://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.tar.xz 
 
Binary packages for various distributions will be available from:
http://www.winehq.org/download 
 
You will find documentation on
http://www.winehq.org/documentation 
 
You can also get the current source directly from the git repository.
Check
http://www.winehq.org/git for details. 
 
Wine is available thanks to the work of many people.
See the file AUTHORS in the distribution for the complete list.
 
What's new in Wine 4.0

*** Direct3D
- Initial support for Direct3D 12 is implemented. Direct3D 12 support requires the vkd3d library, and a Vulkan-capable graphics card. - The Multi-Threaded Command Stream feature is enabled by default. - OpenGL core contexts are always used by default when available. In the previous release, these were already used by default for Direct3D 10 and 11 applications on AMD and Intel graphics cards. That has been extended to all graphics cards, and all versions of Direct3D before 12. - Among others, the following notable Direct3D 10 and 11 features are implemented: - Multi-sample textures and views, as well as multi-sample resolves. - Per-sample fragment shading. - Support for 1D textures. - Draws without render target views or depth/stencil views. - Multiple viewports and scissor rectangles per draw. - Depth clipping control. - Depth bias clamping. - Stream output without geometry shaders. - Several more capability queries. - Several more resource formats. - The "depth bias clamping" feature mentioned above requires the ARB_polygon_offset_clamp/EXT_polygon_offset_clamp OpenGL extension. All Direct3D 10+ capable hardware should be able to support that extension, but it has come to our attention that some NVIDIA "Legacy Drivers" do not. We encourage affected users to explore whether the Free Software Nouveau drivers meet their needs. - Several Direct3D 11 interfaces have been updated to version 11.2, and several DXGI interfaces have been update to version 1.6. This allows applications requiring those newer interfaces to start working. - The first steps towards more fine-grained locking in the Direct3D implementation have been taken. This will be an ongoing effort to take better advantage of modern high core count CPUs. - Support for using the correct swap interval is implemented, for both DXGI and DirectDraw applications. - Application-configurable frame latency is implemented for Direct3D 9Ex and DXGI applications. - S3TC-compressed 3D textures are supported. S3TC-compressed 2D textures were already supported, provided the OpenGL drivers supported them. - When the ARB_query_buffer_object OpenGL extension is available, query results can be polled with lower latency, resulting in a modest performance improvement in specific cases. - Validation of Direct3D 8 and 9 resource pool and usage restrictions, as well as blit restrictions, has been improved. - The Direct3D graphics card database recognizes more graphics cards. - New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys: - "MultisampleTextures" (REG_DWORD) Enable (0x1, default) or disable (0x0) support for multi-sample textures. - "Renderer" (REG_SZ) The backend API to target. Possible values are "gl" (default) for OpenGL and "gdi" for GDI. - Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key: - "DirectDrawRenderer" This has been superseded by the "Renderer" setting above. - Removed HKEY_CURRENT_USER\Software\Wine\Direct3D registry key: - "StrictDrawOrdering" This feature was previously deprecated in favor of the multi-threaded command stream feature, and has been completely removed. 
 
*** Graphics - A complete Vulkan driver is implemented, using the host Vulkan libraries under X11, or MoltenVK on macOS. - A builtin vulkan-1 loader is provided as an alternative to the SDK loader. - Icons in PNG format are supported, enabling loading high-resolution 256x256 icons. - The standard icons include a 256x256 version to take advantage of the PNG support. - Many Direct2D interfaces have been updated to version 1.2. - New HKEY_CURRENT_USER\Software\Wine\Direct2D registry key: - "max_version_factory" (REG_DWORD) Limit the interface version of the ID2D1Factory interface to the specified version. 0x0 for ID2D1Factory, 0x1 for ID2D1Factory1, etc. By default there is no limit. - Using an ARGB visual as default X11 visual is supported. - The old 16-bit DIB.DRV driver is implemented using the DIB engine. - Polygon drawing in the DIB engine is much faster for large polygons. - A0, A1 and A2 paper sizes are supported for generic printers. - Arrows are supported in GdiPlus. 
 
*** Kernel - Support for running DOS binaries under Wine is removed. When execution of a DOS binary is requested, an external DOSBox instance is launched. This doesn't apply to Win16 binaries, which are still supported internally. - All the CPU control and debug registers can be accessed by kernel drivers, including on 64-bit. - Events, semaphores, mutexes and timers are implemented in kernel mode for device drivers. - The WaitOnAddress synchronization primitives are supported. - Reported processor information correctly distinguishes logical and physical CPU cores to support hyper-threading. - Detailed BIOS information can be queried on Linux platforms. - The various debugger APIs support manipulating a 32-bit Wow64 process from a 64-bit process context. - Application settings, compatibility information and execution levels are recognized in application manifests. - The various file I/O completion modes are implemented. - Debug registers are supported on NetBSD. 
 
*** User interface - The infrastructure for setting DPI awareness and scaling of non DPI-aware applications is implemented. However, actual scaling of window contents is only supported on Android at this point. Scaling is disabled by default and can be enabled by setting the "DpiScalingVer" value under HKEY_CURRENT_USER\Control Panel\Desktop. - Window class redirection is supported, enabling support of Common Controls version 6 features for standard USER controls like buttons. - The standard USER controls Button, Listbox, Combobox, Edit and Static support version 6 features, including theming. - The standard Task Dialog is implemented, including support for icons, hyperlinks, progress bars, and various other UI elements. - Cue banners are supported in version 6 of the Edit control. 
 
*** Desktop integration - Exporting MIME-type file associations to the native desktop can be disabled with a checkbox under the Desktop Integration tab in winecfg. It can be configured programmatically by setting the "Enable" value under HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations. - The File Dialog can display file properties like size, times and attributes. - The File Dialog optionally shows the Places toolbar on the left-hand side. - The shell folder Public is used instead of AllUsersProfile to follow the behavior of recent Windows versions. - The shell File Browser supports keyboard shortcuts to rename (F2 key) and delete (Delete key) shell folders. - Many standard icons are added to the Shell library. - Shell Autocompletion is supported. - In desktop mode the taskbar won't be displayed on top of fullscreen windows. - Additional names are provided for standard cursors to better match existing X11 cursor themes. 
 
*** Input devices - HID game controllers are supported in the XInput and Raw Input APIs. - An SDL driver is implemented to make SDL game controllers available through the HID interface. 
 
*** Internet and networking - JScript has an EcmaScript compliant mode, which supports a number of features not available in legacy mode. - JavaScript property accessors are supported. - HTML style object is rewritten to support standard-compliant mode. - HTML documents respect X-UA-Compatible HTTP header, allowing web pages to request specific compatibility mode. The HKEY_CURRENT_USER\Software\Wine\MSHTML\CompatMode key may be used to override the requested mode. - MSHTML supports non-HTML elements, allowing limited SVG support. - A number of new HTML APIs are supported. - The proxy server can be configured through the Internet Control Panel applet. - Stream I/O is implemented in WebServices. - The Web Services on Devices API (WSDAPI) is implemented, including sending and receiving the various message types. - More system information is reported through WBEM, including CPU, BIOS, video controller, and network adapter properties. 
 
*** Cryptography - Asymmetric encryption keys, as well as RSA and ECDSA signature verification are supported. - The GCM and ECB encryption chaining modes are supported. - Optimal Asymmetric Encryption Padding (OAEP) is supported in RSA encryption. - A Kerberos security provider is implemented, supporting Kerberos authentication. - A selection dialog for public key certificates is implemented. - If available, GnuTLS is used on macOS in preference to the CommonCrypto framework. 
 
*** Text and fonts - Character tables are based on version 11.0.0 of the Unicode Standard. - The new subpixel font rendering of FreeType >= 2.8.1 is supported. - When a font face is missing, FontConfig is queried to provide possible substitutions. - The font selected in the console emulator properly scales with the display DPI. - Memory font resources are supported in DirectWrite. - The builtin Wingdings font contains clock images. 
 
*** Audio - The Windows Media Player interfaces are implemented and support media playback. - An MP3 decoder is provided as DirectX Media Object. 
 
*** macOS - The preloader is implemented on macOS, for better address space layout compatibility. - The Command key can be mapped to Ctrl, by setting the "LeftCommandIsCtrl" or "RightCommandIsCtrl" values under HKEY_CURRENT_USER\Software\Wine\Mac Driver. - The App Nap energy-saving feature is disabled by default in GUI processes. It can be re-enabled by setting the "EnableAppNap" value under HKEY_CURRENT_USER\Software\Wine\Mac Driver. 
 
*** Android - Setting the mouse cursor is supported using the APIs available in Android >= 7. - The new version of the Android graphics buffer allocator API is supported, to enable graphics support on Android >= 8. - Android x86-64 platforms are supported also in 64-bit mode, however WoW64 mode is not supported yet in the WineHQ packages. 
 
*** ARM platforms - Stubless COM proxies are implemented on ARM. - The Windows calling convention for variadic functions is supported on ARM64. - Exception handling and debugging is better supported on ARM64 platforms. - The MinGW toolchain is supported for cross-compilation to ARM64. 
 
*** Built-in applications - The Ping program provides actual pinging functionality using IcmpSendEcho. - The SchTasks task scheduler program can create and delete tasks. - The RegEdit registry editor has an improved hex editor for binary values. - FOR loops are properly handled in the Command Interpreter. - The XCopy program supports the /k (keep attributes) option. 
 
*** Internationalization - The Japanese 106 keyboard is properly supported. - Translation of timezone names is supported. - There is a partial translation to the Sinhala language. - More locales are supported in the Resource Compiler (wrc) and Message Compiler (wmc). 
 
*** Development tools - winedbg supports debugging WoW64 processes. - In gdb proxy mode, winedbg supports a --port option to specify the port used to connect to gdb. - winegcc uses better heuristics for finding the appropriate lib directory for 32/64-bit cross-compiles. - winegcc supports building native subsystem libraries. - winegcc also looks for includes in the top-level include directory of the installation prefix. - winebuild supports a -mfpu option for specifying the FPU architecture on ARM platforms. - winedump supports dumping SLTG-format typelibs. 
 
*** IDL compiler - Application Configuration Files (ACF) are supported. - Asynchronous interfaces are supported. - Type and method serialization using encode/decode attributes is supported. - The defaultvalue() attribute is supported for pointer types. - Generated files are always specific to the target platform. The target can be specified the same way as with the other tools, using the cpu-manufacturer-os platform specification. - Nesting of pointers and arrays works correctly. - Correct size and alignment are generated for encapsulated unions. - The __int32 type is supported. - The -robust command line option is recognized (but ignored) for compatibility with the Microsoft IDL compiler. - Multiple typelibs can be generated into a single resource file. 
 
*** .NET - 32-bit CIL-only .NET binaries are supported on 64-bit. - The Mono engine is updated to version 4.7.5 with some upstream Mono fixes. 
 
*** RPC/COM - The typelib marshaller is reimplemented. It generates format strings and then uses the standard NDR marshalling routines; this way it also works on 64-bit and ARM platforms. 
 
*** Installers - MSI custom actions run in a separate process, enabling proper support for mixed 32/64-bit installers. - Deferred installation actions are supported in MSI. 
 
*** Build infrastructure - The test framework supports building helper dlls inside a test, to allow testing features that require loading an external library. - The test framework supports testing Windows kernel drivers. - It is possible to build and run a WoW64 tree from inside the Wine source directory. Previously an out-of-tree build was required. - A .editorconfig file is provided with the recommended indentation parameters. 
 
*** Miscellaneous - The Task Scheduler service and APIs are implemented. - The Windows Management Instrumentation service is implemented. - The OPC Services (Open Packaging Conventions, used for Microsoft Office XML files) library is implemented. - The HKEY_PERFORMANCE_DATA magic registry key is partially implemented. 
 
*** New external dependencies - The Vulkan library is used to implement the Vulkan graphics driver. - The Vkd3d library is used to implement Direct3D 12 on top of Vulkan. - The SDL library is used to support game controllers. - The GSSAPI library is used to implement Kerberos authentication. 
 
Alexandre Julliard [email protected]
submitted by catulirdit to wine_gaming [link] [comments]

Nginx SSL and PHP help for a complete noob?

EDIT: After some more troubleshooting I think I've found the main source of my troubles. I cannot access my network via my public IP address. I double checked if the domain was pointed to my public IP properly, and it is. My port is forwarded and "ping blocking" is disabled on my modem/router. I can only think at this point that my ISP may be blocking incoming connections as someone suggested. I used the ShieldsUp tool to check, and it does appear that my ISP is blocking my ports
Wall of text warning: I'm having a lot of trouble setting up Nginx on windows and have been trying for almost a week. I'm an absolute noob when it comes to web development, and I can't for the life of me solve the problem. I have a domain name, with the 'A' record pointed at my public IP and 'Cname' record set to the alpha directory, but I get a connection error when trying to connect. If anyone reads this super long post and can see where I made one of probably many mistakes, please let me know.
From what I can tell, I seem to have one to three problems: configuring Nginx with my SSL cert & unencrypt key (or even being sure the cert works?); being able to access my network via my public IP at all; and configuring Nginx with PHP to access muximux or iDashboard.
Accessing my network via the public IP without SSL
Without using the ssl cert and forgoing the hosted domain, I've installed Nginx and see the welcome page when accessing localhost on my network. I have port 443 and 80 forwarded (443 for when attempting to configure ssl), and disabled my modem/router's option to block incoming pings. So when navigating to my public IP I should see the Nginx welcome screen right? But it's not working either inside or outside the network via the public IP. I always get a connection timed out error. Here is my Nginx config without SSL or finalizing the sites Nginx will point to; it's pretty much just the default config file:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } 
I assume that maybe the server name being set to local host could cause problems, but I've tried it with my public IP as well to no luck. But I also suspect maybe I'm not properly resetting Nginx when I make changes to the config file? I open a cmd window, and type
> cd /nginx > nginx -s reload 
Then try again, but nothing changes.
Configuring Nginx with SSL certificates
As for the SSL certificates, I know they are not working, as after setting them all up I accessed localhost via https and got the "unsafe connection" warning. The guide I followed to concatenate the certificates seemed to have worked. I did them in order: "Domain.crt > COMODORSADomainValidationSecureServerCA.crt > COMODORSAAddTrustCA.crt > AddTrustExternalCARoot.crt." I tried this both by hand in notepad++ and with the windows type command. I obtained the free certificates from Comodo.com. They key does seem to work as Nginx does not ask for the PEM passphrase on startup.
Here is the Nginx config file for enabled SSL:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 443 ssl; server_name Domain.com; ssl_certificate /nginx/ssl/cert/ssl-bundle.crt; ssl_certificate_key /nginx/ssl/cert/server.key; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 
Using this, I can still connect to Nginx on my localhost (albeit with the bad cert warning), and still cannot connect via public IP.
Configuring Nginx with PHP for Muximux
Having given up trying to connect my domain and access Nginx from beyond my local network, I decided to try to set up muximux. I assumed as long as I could reach the Nginx welcome page on LAN, then I should be able to at least consolidate all my tabs with muximux right?
So I followed a guide to install PHP on Nginx, and cloned muximux to the html folder of the nginx directory. The guide was easy to follow and seemed to work well during the test, and the first time I tried navigating to localhost/muximux/index.php it kind of worked, but I couldn't expand the top right "options" bar, so I closed the window, reloaded Nginx, and tried again, but since then it just downloads the php file every time I try to navigate to the page.
These are the guides/tools I have used in attempting to set up the reverse proxy in no particular order:
TL;DR I have no idea what I'm doing and have used up every resource I can google or search on reddit. I was thinking of looking into apache next since I've hit a roadblock with Nginx.
submitted by Timboflex to PleX [link] [comments]

Nginx SSL and PHP help for a complete noob?

EDIT: After some more troubleshooting I think I've found the main source of my troubles. I cannot access my network via my public IP address. I double checked if the domain was pointed to my public IP properly, and it is. My port is forwarded and "ping blocking" is disabled on my modem/router. I can only think at this point that my ISP may be blocking incoming connections. I used the ShieldsUp tool to check, and it does appear that my ISP is blocking my ports
Wall of text warning: I'm having a lot of trouble setting up Nginx on windows. I'm an absolute noob when it comes to web development, and I can't for the life of me solve the problem. I have a domain name, with the 'A' record pointed at my public IP and 'Cname' record set to the alpha directory, but I get a connection error when trying to connect. If anyone reads this super long post and can see where I made one of probably many mistakes, please let me know.
From what I can tell, I seem to have one to three problems: configuring Nginx with my SSL cert & unencrypt key (or even being sure the cert works?); being able to access my network via my public IP at all; and configuring Nginx with PHP to access muximux or iDashboard.
Accessing my network via the public IP without SSL
Without using the ssl cert and forgoing the hosted domain, I've installed Nginx and see the welcome page when accessing localhost on my network. I have port 443 and 80 forwarded (443 for when attempting to configure ssl), and disabled my modem/router's option to block incoming pings. So when navigating to my public IP I should see the Nginx welcome screen right? But it's not working either inside or outside the network via the public IP. I always get a connection timed out error. Here is my Nginx config without SSL or finalizing the sites Nginx will point to; it's pretty much just the default config file:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } 
I assume that maybe the server name being set to local host could cause problems, but I've tried it with my public IP as well to no luck. But I also suspect maybe I'm not properly resetting Nginx when I make changes to the config file? I open a cmd window, and type
> cd /nginx > nginx -s reload 
Then try again, but nothing changes.
Configuring Nginx with SSL certificates
As for the SSL certificates, I know they are not working, as after setting them all up I accessed localhost via https and got the "unsafe connection" warning. The guide I followed to concatenate the certificates seemed to have worked. I did them in order: "Domain.crt > COMODORSADomainValidationSecureServerCA.crt > COMODORSAAddTrustCA.crt > AddTrustExternalCARoot.crt." I tried this both by hand in notepad++ and with the windows type command. I obtained the free certificates from Comodo.com. They key does seem to work as Nginx does not ask for the PEM passphrase on startup.
Here is the Nginx config file for enabled SSL:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 443 ssl; server_name Domain.com; ssl_certificate /nginx/ssl/cert/ssl-bundle.crt; ssl_certificate_key /nginx/ssl/cert/server.key; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 
Using this, I can still connect to Nginx on my localhost (albeit with the bad cert warning), and still cannot connect via public IP.
Configuring Nginx with PHP for Muximux
Having given up trying to connect my domain and access Nginx from beyond my local network, I decided to try to set up muximux. I assumed as long as I could reach the Nginx welcome page on LAN, then I should be able to at least consolidate all my tabs with muximux right?
So I followed a guide to install PHP on Nginx, and cloned muximux to the html folder of the nginx directory. The guide was easy to follow and seemed to work well during the test, and the first time I tried navigating to localhost/muximux/index.php it kind of worked, but I couldn't expand the top right "options" bar, so I closed the window, reloaded Nginx, and tried again, but since then it just downloads the php file every time I try to navigate to the page.
These are the guides/tools I have used in attempting to set up the reverse proxy in no particular order:
TL;DR I have no idea what I'm doing and have used up every resource I can google or search on reddit. I was thinking of looking into apache next since I've hit a roadblock with Nginx.
submitted by Timboflex to nginx [link] [comments]

Sap note 2224356 (IE11 issue) where to install?

Hi all, my first time posting here please be gentle,
i have been asked to install the fix below on our SAP GUI install package. Is that correct? Does the fix apply to sap Gui itself or does it need to be installed on a SAP server?
Thank you
2224356 - Internet Explorer 11: No maintenance of browser-based PI Sheets and Electronic Work Instructions Version 1 Type SAP Note Language English Master Language English Priority Correction with high priority Category Program error Release Status Released for Customer Released On 01.10.2015 Component PP-PI-PMA-PMC (Browser based PI Sheet / Cockpit) Please find the original document at https://launchpad.support.sap.com/#/notes/2224356 Symptom
You maintain browser-based PI Sheets or electronic work instructions. You installed the MS Internet Explorer 11 on your local machine. After the installation you start transaction CO60 or CO60XT to maintain your browser-based PI Sheet/electronic work instruction. The content of the PI Sheet/electronic work instruction is not displayed:
The message 'Loading ...' appears in the upper left corner of the HTML control. If the log is displayed no error messages are displayed. The message is missing that the document was started successfully: In general this is the last message of the log (message 808 of message class CPOC). It is also not possible to display archived browser-based PI Sheets and electronic work instructions. This includes: data of electronic batch records (transaction COEBR) data stored on optical archives (transaction CO_ARCH_PISHEET). Other Terms browser-based PI Sheet, electronic work instruction, IE 11, CMX_BFW,Reason and Prerequisites SAP HTML viewer control displays the HTML content of browser-based PI Sheets and electronic work instructions. These objects require SAP GUI for Windows. In this case the MS Internet Explorer is used as external browser. The current HTML files of the browser framework are not compatible with IE 11. The metadata information in the HTML file about the UX compatibility mode is missings. The HTML files of the browser framework require Internet Explorer 6.0 as compatibility mode.Solution
Download the ZIP file that contains the adopted HTML files of the browser framework (BFW). Unzip the files.Start the SAP Web Repository via transaction SMW0. Choose option 'Binary data for WebRFC applications'and press Enter.Select package CMX_BFW and press 'Execute' (F8). Mark the following object entries and import thecorresponding file:2017-03-22 Page 1/3
TML_BFW_DOC_GENERIC.HTML TML_BFW_DOC_CLIENT.HTML Build the runtime files by starting report RCMX_BFW_BUILD_RUNTIME_FILES. Enter the following data: Development Class: CMX_BFW Name of Original: BFW_DOC_GENERIC.HTML Execute the report. Repeat the procedure for BFW_DOC_CLIENT.HTML of development class CMX_BFW. Software Components Software Component Release SAP_APPL 618 - 618 S4CORE 100 - 100 EA-APPL 600 - 600 EA-APPL 602 - 602 EA-APPL 603 - 603 EA-APPL 604 - 604 EA-APPL 605 - 605 EA-APPL 606 - 606 EA-APPL 616 - 616 EA-APPL 617 - 617 Other Components Component Description PP-PI-PMA Process Management Support Package Software Component Release Support Package S4CORE 100 SAPK-10001INS4CORE 2017-03-22 Page 2/3 © 2017 SAP SE or an SAP affiliate company. All rights reserved EA-APPL 600 SAPKGPAD28 EA-APPL 602 SAPK-60218INEAAPPL EA-APPL 603 SAPK-60317INEAAPPL EA-APPL 604 SAPK-60418INEAAPPL EA-APPL 605 SAPK-60515INEAAPPL EA-APPL 606 SAPK-60616INEAAPPL EA-APPL 616 SAPK-61610INEAAPPL EA-APPL 617 SAPK-61711INEAAPPL SAP_APPL 618 SAPK-61801INSAPAPPL Attachments File Name File Size Mime Type TML_BFW_FILES_V_1.zip 2 application/x-zip-compressed Terms of use | Copyright | Trademark | Legal Disclosure | Privacy 2017-03-22 Page 3/3 © 2017 SAP SE or an SAP affiliate company. All rights reserved
submitted by SmithersMK to SAP [link] [comments]

How to Read and Write Binary (In 5 Minutes) - YouTube Binary Numbers and Base Systems as Fast as Possible - YouTube Top 10 Giant Piano Performances Compilation [NEW HD] LagerMaschinen.de - YouTube Garrison's NCLEX Tutoring - YouTube

Docker. Run it from Docker Hub or using the provided Dockerfile. Configuration. Check out how to configure MailHog, or use the default settings:. the SMTP server starts on port 1025; the HTTP server starts on port 8025; in-memory message storage The future of responsive design. Mobile developers can, and should, be thinking about how responsive design affects a user’s context and how we can be… 17.1 Introduction to forms. An HTML form is a section of a document containing normal content, markup, special elements called controls (checkboxes, radio buttons, menus, etc.), and labels on those controls. Users generally "complete" a form by modifying its controls (entering text, selecting menu items, etc.), before submitting the form to an agent for processing (e.g., to a Web server, to a LibriVox About. LibriVox is a hope, an experiment, and a question: can the net harness a bunch of volunteers to help bring books in the public domain to life through podcasting? If neither mime_content_type() nor Fileinfo is available to you and you are running *any* UNIX variant since the 70s, including Mac OS, OS X, Linux, etc. (and most web hosting is), just make a system call to 'file(1)'.

[index] [760] [424] [439] [482] [791] [368] [62] [374] [719] [100]

How to Read and Write Binary (In 5 Minutes) - YouTube

Enjoy the video? Leave a comment! Let me know any other subject you would like to learn quick and easy. Consider subscribing for more content like this. My E... Amazing street performers playing giant pianos 2018. Watch people busking on huge pianos. Giant pianos make for incredible public performances. 👉 Subscribe: ... This is part 1 of 2 of the Microsoft Access 2016 tutorial. The tutorial starts with the very basics and continues to the more advanced features on properly u... For tutoring please call 856.777.0840 I am a registered nurse who helps nursing students pass their NCLEX. I have been a nurse since 1997. I have worked in a... Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

http://binaryoption-arabic-trade-brocker.forex-daytrading.info