Bearsampp is dedicated to 64 bit architecture.
We recommend windows 11 but it may work on windows 10 also.
We use vs17, Thread safe, avx Achitecture(s). vs17 is built into our prerequisites package.
We use the Layla template
Tutorials are here: https://www.joomla51.com/joomla-tutorials
The site itself is powered by http://joomla.org
Help is available here: https://www.facebook.com/joomla/
Our website is hosted at https://ionos.com
In an emergency our site can be restored either via cpanel or restoring an Akeeba backup using "kickstart".
It's best to ask Bear or Jacob to do this.
Bear's address is:
Troy Hall
184 Quail Ridge Road
Ponca City, Ok. 74605
Bear's cell phone is: 580-348-0234
His son Theodore's cell phone is : 925-597-2658
Sites hosted on Github are static sites. Each change to the site either requires manual changes or an intricate Git "Action" to rebuild it.
Our site is fully dynamic so that option is not easily available to us.
When I'm gone its my desire that you guys keep the project going.
The whole reason for setting Bearsampp up as an organization was to allow for this exact contingency.
Jacob is a co-owner and has full control over all the IT part of the organization. He also has full access to everything.
If/when the site needs to be moved, simply contact "Jake" and ask him to assist you
Prerequisites package uses innosetup. Docs are here
It's best to make the image in several steps unless you have adobe photoshop.
Bearsampp is a portable application therefore there is nothing to install except the prerequisites package. This provides the various Microsoft code libraries that are used. If you already have them installed, and its possible you already do, they will not be installed again.
For each release there are "Upgrade notes" provided to guide you on how to upgrade.
By default, the user is "root" with no password
The user is postgres and there is no password for this user.
By default MySQL is started on port 3306 and MariaDB on port 3307.
Here is an example using PDO to access a database named wordpress
installed on MySQL and MariaDB :
$mysql = new PDO('mysql:host=127.0.0.1;port=3306;dbname=wordpress', 'root', '');
$mysqlStmt = $mysql->query("SELECT * FROM wp_comments");
var_dump($mysqlStmt->fetchAll(PDO::FETCH_ASSOC));
$mariadb = new PDO('mysql:host=127.0.0.1;port=3307;dbname=wordpress', 'root', '');
$mariadbStmt = $mariadb->query("SELECT * FROM wp_comments");
var_dump($mariadbStmt->fetchAll(PDO::FETCH_ASSOC));
There are two ways to disable some services to launch on startup.
First you can edit the bearsampp.conf
file and change the value to 0
for keys ending with enable = "1"
below BINS
.
Example: mysqlEnable = "0"
Or you can go to the Bearsampp menu.
Example: Bearsampp tray menu then Mysql then Enable / Disable
The changes have to be done in the alias configuration in alias\phpmyadmin.conf
:
<Directory "C:/neard/apps/phpmyadmin/phpmyadmin4p3/4.4.15.6/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
# START switchOnline tag - Do not replace!
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 ::1
# END switchOnline tag - Do not replace!
<IfModule php5_module>
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
</IfModule>
<IfModule php7_module>
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
</IfModule>
</Directory>
To turn off and disable Skype usage of and listening on port 80 and port 443, open the Skype window, then click on the Tools menu and select Options. Click on the Advanced tab, and go to the Connection sub-tab. Untick or uncheck the checkbox for Use port 80 and 443 as an alternative for additional incoming connections
option. Click on the Save button and then restart Skype to make the change effective.
Open a CMD prompt (as Admin) and typeiisreset /stop
After the modifications have been made, restart Bearsampp for the changes to take effect.
Or you can change the port number of IIS by following the official Microsoft documentation.
Since Ruby 2.4, RubyInstaller is based on MSYS2 toolchain. If you want to compile C based ruby gems, you will have to download and install all necessary MSYS2 build tools by typing the command ridk install
used by the official installer.
Since Chrome 58, self-signed certificates generated with Bearsampp are no longer accepted and you will have the error NET::ERR_CERT_AUTHORITY_INVALID
if you go to https://localhost
. To resolve this you can add the .crt files to the local trusted certificate store using the steps below.
Name | Type | Description |
---|---|---|
Adminer | application | a full-featured database management tool written in PHP. |
Apache | binary | the world’s most used web server software. |
Bruno | tool | Bruno IDE. |
Composer | tool | a dependency manager for PHP. |
ConsoleZ | tool | modified version of Console 2 for a better experience. |
Ghostscript | tool | an interpreter for the PostScript language and for PDF. |
Git | tool | a widely used version control system for software development. |
Mailpit | binary | a Web and API based SMTP testing. |
MariaDB | binary | a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. |
Memcached | binary | a distributed memory object caching system. |
MySQL | binary | an open-source relational database management system. |
Ngrok | tool | an Ngrok is a globally distributed reverse proxy |
Node.js | binary | an open-source, cross-platform runtime environment for developing server-side web applications. |
Perl | tool | a family of high-level, general-purpose, interpreted, dynamic programming languages. |
PHP | binary | a server-side scripting language designed for web development including PEAR and extra extensions. |
phpMyAdmin | application | handle the administration of MySQL and MariaDB over the Web. |
phpPgAdmin | application | a web-based administration tool for PostgreSQL. |
PostgreSQL | binary | an object-relational database management system (ORDBMS). |
Python | tool | a widely used high-level, general-purpose, interpreted, dynamic programming language. |
Ruby | tool | a dynamic, reflective, object-oriented, general-purpose programming language. |
Xlight | binary | a FTP server application. |
For binaries
Otherwise,
Winbinder documentation can be found at https://crispy-computing-machine.github.io/Winbinder-Docs/
The bar color is controlled by Bearsampp\core\classes\tpls\class.tpl.aestan.php
lines 275-276
'BarGradientEnd=$00c07840' . PHP_EOL .
'BarGradientStart=$00c07840' . PHP_EOL .
The first 2 digits must always be '00' and the next 6 are in BBGGRR format
The about window is a 450 x 250 window created by class.action.about.php
styling is in class.windbinder.php
specifically line 150
public function drawRect($parent, $xPos, $yPos, $width, $height, $color = 15790320, $filled = true)
{
return $this->callWinBinder('wb_draw_rect', array($parent, $xPos, $yPos, $width, $height, $color, $filled));
}
You must use decimal when working with colors such as https://convertingcolors.com/decimal-color-15790320.html
The hex value for the background is #f0f0f0
To use a single database irregardless of the db version follow this video. The risk to doing this is if the db changes how data is handled/stored it could break our db.
While your welcome, and infact encouraged, to use it for development of the Bearsampp program is it NOT for use as your daily driver! It's strictly a R&D system.
There are a few things that are very unique to Sandbox and require important consideration.
ANY branch other then main should be considered alpha and highly likely to break everything. Using sandbox requires patience and understanding how things function.
I'll attempt to explain things but nothing will replace experience. Even Jacob and Bear have been slapped by sandbox more then once!
Setting up sandbox is not difficult but the steps are exacting.
Using Sandbox is alot like any other repo in that you do a git clone and your on your way... EXCEPT there is a requirement that you do these steps in the following order.
Doing a bombing run is fun and scary at the same time. This is a large commitment of drive space so if your on anything smaller then a 64gb drive, and not at least usb 3.0 you should probably not do this!!!
So now that your worried, lets put our bomber jacket on and punch that pickle.
Jacob and Bear had several "discussions" over the merits of sandbox. It was conceived and matured by Bear as a safe environment to test the numerous changes that were upcoming without endangering our "core".
Bear had nuked his installation of core that was his daily driver more then once and with dozens and dozens of fixes coming it was important that there was some simple way for things to be done.
You have to understand that when Bear thinks something is "simple' you should probably be scared! LOL
He's put a lot of thought and effort into what is maturing to be a great system, in his mind, for R&D. When everything is fully matured making a merge on sandbox will auto create a pr & merge onto core. This will facilitate the ability to roll out a new version of core very quickly, with the comfort in knowing everything has been tested thoroughly. There will still be a final test of the "build" of course but it should always be painless.
Breaking something in sandbox is as trivial a fix as deleting, or fixing, that branch and starting fresh from main. None of the day-to-day file changes that happen in core while testing effect Sandbox. It's completely isolated from the runtime(s). This is one of its major strengths. Your commits are completely and intentionally restricted to the "core" system.
While Jacob has struggled with Sandbox, ALOT, Bear has been able to make it shine!
He uses it daily when making the changes that make Bearsampp mature. PR's are created from those changes, tested, most of the time by Jacob, and then merged into main when they have been successfully tested.
It's a tool that if/when more developers come onboard they will have a reliable and fully tested method of doing things to further the program along.
Yep! BUT, DON'T COME COMPLAINING TO BEAR WHEN YOU BOMB YOUR INSTALL! Don't think it can't happen to you, or "meh, easy to fix if it happens". You couldn't be further from the truth. Just recently Jacob bombed EVERY version of Bearsampp on his computer during testing of an encryption system. The hours of effort and frustration he spent trying to figure it out was not for the faint of heart. Jacob, to his merits, stuck with the battle and after many HOURS found out the real issue and its original cause. Bear had to admit to Jacob he would've never figured it out and that's not the first time or even second or third that something like this has happened. Jacob's tenacity, experience in IT has been instrumental in the growth of Bearsampp.
Furthermore using our main repo for R&D actually endangers our main repo because the rollbacks WILL happen! It takes a minimum of one to two hours to roll out a new version of Bearsampp WITHOUT anything going wrong so the lower the chances of something failing the better.
Ideally? 30 seconds. IT SHOULD be as simple as destroying the branch and moving forward. But in the chance you have to nuke and start over, given a decent net connection, its a 15 min fix.
So, just like any other project you develop, you've created a branch, you've done some kind of an improvement to Bearsampp and your ready to fire it off. Great, one thing you'll notice is the iconography for Sandbox is different then for Bearsampp. This is by design. The color is a warning to you that your using a system designed for things to go wrong.
Run through the appropriate steps to test the changes you've made. Assuming those work then check EVERY function in Sandbox. The more thorough you are in this step the less work on everyone else who has to do the same thing to test your "fix". Lastly fire up localhost and make sure everything there works. Check the links, iconography, spinners, everything!
If everything looks ok, then commit, and create a pr. If you are part of the "Qodo" team, which you most likely are, there's no need for anything other then a title for the PR. PR-Agent Pro will do all the heavy lifting. Then just sit back and wait for the merge of your effort. Remove your local branch once your pr has been merged and start on the next issue. Don't be like Bear and forget to switch to main & creating a new branch before starting on the next thing. If you need some documentation on how the api works, then check out our API docs.
You need OpenJDK ( minimum jdk 11 ) which can be obtained from here
if you use the .zip version of jdk then you will need to extract the archive on your computer (eg. C:\jdk
) and add the path to java.exe
(eg. C:\jdk\bin
) to your environment var PATH.
It's easier to use the .msi installer.
To check if you have Java in your path, open a command prompt and type java -version
:
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
When updating versions of Microsoft's JDK it does not remove the older version. You will need to use the Add/remove programs function of windows to remove the pre-existing version.
Apache Ant is used with the OpenJDK to build and package the portapp.
You need at least Apache Ant 1.10.5 that you can download on the Apache website.
Extract the archive on your computer (eg. C:\apache-ant
) and add the path to ant.bat
(eg. C:\apache-ant\bin
) to your environment var PATH.
To check if you have Apache Ant in your path, open a command prompt and type ant -version
:
Apache Ant(TM) version 1.10.5 compiled on July 10 2018
For example :
cd C:\work\
git clone --recursive https://github.com/bearsampp/module-adminer.git
git clone --recursive https://github.com/bearsampp/dev.git
cd module-adminer\
Directory structure example :
[-] dev
| [-] build
| | | build-commons.xml
[-] bearsampp-{bin|app|tool}-{name}
| | build.xml
If you are not familiar with creating a pull request, you can create a new module like this :
build.release
in the build.properties
file using a YYYY.mm.dd format. Such as 2022.07.24build.path
(default C:\bearsampp-build
).release
: ant release
.Hi, I'm Bear;
Bearsampp came as a fork of Neard, the developer stopped updating it in 2021 and many of us really liked the program and wanted it to continue, so I forked it and started working on updating it.
Along the way it was decided to give it a new name and remove code for ancient versions of windows and fix any bugs that we could.
To help prevent this from ever happening again I created a Github project for it so that anyway can take over when/if I'm gone.
By supporting me by either donating or contributing you help insure the longevity of this program.
Bearsampp is based on Aestan Tray menu 1.7.0.
Bearsampp uses the exe and the .ini file to generate the tray menu.
Everything is open source and housed on Github
Module | Type | Full | Basic | Lite |
---|---|---|---|---|
Adminer | application | |||
Apache | binary | |||
Composer | tool | |||
ConsoleZ | tool | |||
Filezilla | binary | |||
Ghostscript | tool | |||
Git | tool | |||
Gitlist | application | |||
MailHog | binary | |||
MariaDB | binary | |||
Memcached | binary | |||
MySQL | binary | |||
ngrok | tool | |||
Node.js | binary | |||
Perl | tool | |||
PHP | binary | |||
phpMemAdmin | application | |||
phpMyAdmin | application | |||
phpPgAdmin | application | |||
PostgreSQL | binary | |||
Python | tool | |||
Ruby | tool | |||
Webgrind | application | |||
XDebugClient | tool | |||
Yarn | tool |
Bearsampp is dedicated to 64 bit architecture.
We recommend windows 11 but it may work on windows 10 also.
We use vs17, Thread safe, avx Achitecture(s). vs17 is built into our prerequisites package.
/* Load Custom 404 article with true 404 error code returned */
if ($this->error->getCode() == '404') {
header("HTTP/1.0 404 Not Found");
echo file_get_contents(JURI::root().'/404');
exit;
}
On the 1st of each month, or as close as possible, a full backup should be done in Akeeba Backup.
Prerequisites package uses innosetup. Docs are here
It's best to make the image in several steps unless you have adobe photoshop.
Following prerequisites must be met:
Search for existing module requests. If you find your module request already exists, then make relevant comments and add your reaction
Use a reaction like - upvote or
- downvote in place of a “+1” comment.
If you cannot find an existing module request, submit a request using the guidelines below.
Then create a new module request and fill in the blanks!
setx /?
to check. ( Included in windows 10+ as of this date )Download the latest release
View all Bearsampp releases
Bearsampp offers several versions of the various binaries, applications and tools for download:
Use a file archiver that supports 7z format like 7zip and extract the archive where you want.
You should not have any white-spaces in the path to Bearsampp as that will cause problems on some modules.
Before starting Bearsampp, edit the configuration file Bearsampp.conf
:
Bearsampp\core\langs
folder for a complete list). Default : english
"America/Chicago"
"notepad.exe"
0
120
The language, browser & log level can also be changed by right clicking on the icon and changing them there.
Launch Bearsampp.exe.
All instructions to upgrade from a previous release are added in the Upgrade notes page.
Bearsmapp icon has 3 states :
To check from the Services Manager, click Start > Run and type services.msc
and check the status of Bearsampp* services :
You can also see the state of services by going to http://localhost
When PostgreSQL is started as a service, you can have this error :
LOG: database system was shut down at 2013-06-13 00:54:33 UTC
LOG: autovacuum launcher started
LOG: database system is ready to accept connections
FATAL: role "John" does not exist
done
server started
This happens when you run pg_ctl start with the -w (wait) option like Bearsampp, because it will try a test connection with a user that does not exist (in your case). But that’s not really a problem (except for the confusing error message), because that proves that the server is up.
Aestan Tray Menu built in service manager is not handled by Bearsampp in the Service menu
You can take look to the Windows Event Log to find out where the error occurred or use the Debug menu of the service (like Apache, MySQL or MariaDB).
If you still can't solve it you can try creating an issue and perhaps the community can help you solve it.
Could not execute menu item (internal error)
[EAccessViolation] Access violation at address XXXXXXXX in module ‘neard.exe’. Read of address XXXXXXXX
Bearsampp tray icon is based on Aestan Tray Menu.
There are several cases to reproduce this error :
bearsampp.ini
file.For the last case you will have to create an issue.
Services loaded with NSSM have the PATH environment variable rewritten.
Impacted services are : Apache, Mailpit, Xlight and Memcached.
As you can see you can add paths relative to the Bearsampp root folder (eg. www).
In the phpinfo the Apache environment will look like this :
And as you can see some paths are automatically added :
If you wish to use the terminal you can use php -m
and this will give you a list of all loaded modules
According to VMWare Knowledge base article, connection to VMware Workstation Server (the shared virtual machines) is administered by the VMware Host Agent service. The service uses TCP ports 80 and 443. This service is also used by other VMware products, including VMware Server and vSphere, and provides additional capabilities.
This will block the execution of the Apache service on Bearsampp.
You can change the VMware Workstation Server ports when you install Workstation and after Workstation is installed.
To connect from a second instance of Workstation to Workstation Server:
Note: If the VMware Workstation Server service running on the remote server is not using the default port, you must specify the port number. For example, remotehost:444.
With the Shared VMs Workstation preferences, you can also disable the server. To access the Shared VMs Workstation preferences:
Xdebug 3 completely changed how things are done. You can find a document explaining those changs here.
The default port is now 9003 instead of 9000
Due to those changes we've changed the way all future php releases are configured.
the [xdebug] section in php.ini will be changed to this.
[xdebug]
xdebug.mode = debug
xdebug.start_with_request = trigger
xdebug.output_name = cachegrind.out.%t.%p
xdebug.output_dir = "~BEARSAMPP_LIN_PATH~/tmp/cachegrind"
xdebug.var_display_max_children = "1024"
xdebug.var_display_max_depth = "8192"
xdebug.var_display_max_data = "32768"
xdebug.max_nesting_level = "250"
Bearsampp is dedicated to 64 bit architecture.
We recommend windows 11 but it may work on windows 10 also.
We use vs17, Thread safe, avx Achitecture(s). vs17 is built into our prerequisites package.
Sorry, this website uses features that your browser doesn’t support. Upgrade to a newer version of Firefox, Chrome, Safari, or Edge and you’ll be all set.