Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. Last week
  3. I had cobbled together a guide awhile back on how to do this, a bit has changed and some of the guide was inaccurate or had unneeded steps. Requirements: you will need to be up to date with windows 10, older versions of windows 10 does not have WSL. Make sure you windows is fully up to date, and you are comfortable with working with the command line or wish to learn more about the command line. other than that, enjoy the guide! So what is WSL? Well, basically it's the userspace from a linux distro added to win10 to allow you to run native linux apps (currently only CLI, some have gotten GUI stuff to work, but that is beyond the scope of this guide). Who is it for? Anyone really. I am a web developer, and one of the reasons i used linux for over 10 years as my daily driver, was due to how poorly a wamp stack performs compared to a lamp stack, and the differences you will encounter in how the two platforms operate. example: windows is a case insensitive OS, so windows doesn't see a difference between MyClass.php and myclass.php, this could be a problem with a case unaware autloloader on linux or mac os x. so it could lead to a unnecessary refactor if/when you deployed to linux/mac os x. I like this alternative mainly cause I migrated to a UHD monitor and use lower resolution monitors in the setup as well and linux has extremely poor fractional scaling (with the exception of KDE), windows scaling isn't perfect, but it is a lot better than any of the linux DE's atm. there were also other issues i ran into as well, as i recently also built a AMD Ryzen system, and ryzen's performance in linux isn't stellar, so least to say, Linux has several issues right now, that make it difficult for me to use well. So why should I use this over wamp or a linux setup? Don't get me wrong, apps likes WAMP/XAMP/MAMP are fine applications and if you are happy with those, then you shouldn't rock the boat. I do a lot of work outside of php with languages like python and technologies like node.js that don't perform very well in windows, they are actually quite cumbersome to install and to use in windows. So if you do more than just write wordpress plugins i suppose, then you'd prolly don't need this, but if you are curious how much greener the grass is, continue to read. so why should you use WSL over a full lamp stack? well the simple answers for me would be convenience. like the aforementioned issues i had running linux now days, this is sorta a meld of "best of both worlds". The Guide: Okay enough backstory, lets get started. First thing you will need to do is enable the sub system, you can do this a few ways. the fastest way imho is to start up a powershell in administrator mode (click start, type in powershell, when it comes up in cortana, right click on it and choose to run as administrator. if you have UAC enabled, it might prompt you if you wish to continue): Once it open enter this: (note: you can copy it, either right click on the powershell window or ctrl+v to paste it) Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux Press enter, it will do a few things, and then it will prompt you to restart. to continue you need to restart (did you really expect anything else? it is windows after all ) Now the Fun! Now once you are back after the reboot, you should be ready to install a distro. Now microsoft made this really simple, they put them in the app store. so open up the app store and search for 'linux': Click on "Get the apps" (if you don't see this, if you scroll down, under APPS, you will see the distro list). you should see this: There are a few distro's to choose from here. This guide will use Ubuntu, but in reality there really isn't any other choice IMHO. (i get this one a lot, "mike, how are you a ubuntu user? its for noobs and you know so much about linux!?", boggles the mind doesn't it? not really, Ubuntu is still more or less debian under the hood, it just has more recent packages and i think put together a bit better than debian and the other distro's, but any way, please refrain from ubuntu hate) any way, click on ubuntu: Now decision time, this guide will proceed almost identically regardless of your choice here. you can click install here and it will install ubuntu 16.04 LTS, however if you look below, you should see "people also like" and one of the options there, should be ubuntu 18.04 LTS. I highly recommend ubuntu 18.04 LTS as it is newer, and will be supported longer than 16.04 LTS, but the choice is yours. Let it install, once it is install click open. you will be greeted by a bash prompt, it will ask you for a username and a password (It should be noted as this has driven linux noobs insane, when you type in your password on the CLI, it will never indicate anything is being typed, so if you are expecting something like ****** to show up, it wont. ). Once you are done with that you will see a prompt like this: well it wont look exactly like this, but you can make it look like this here alright we have Ubuntu installed, first thing we are going to do is add this ppa (which will have the several versions of php available and updates for them when they come out), enter this into your bash prompt: sudo add-apt-repository ppa:ondrej/php this will add the ppa, next we are going to add the webmin Repo for ubuntu, next enter this command: sudo nano /etc/apt/sources.list this will open the nano editor, using your arrow keys, go all the way to the bottom and add this on a new line (you can copy from here and use right click to 'paste') deb http://download.webmin.com/download/repository sarge contrib to save, ctrl+o (saves) and then ctrl+x (exits), next enter these commands: wget http://www.webmin.com/jcameron-key.asc and then: sudo apt-key add jcameron-key.asc and finally: sudo apt update (this last command will update the package managers database). Alright if you have made it this far, you have completed all the EASY stuff (yes, you have permission to roll your eyes). now the stuff that follows, we will be installing and configure Ubuntu with a LAMP stack, plus with webmin. alright, lets install everything we will need: sudo apt install apache2 mysql-server php7.2 php7.2-xml php7.2-zip php7.2-mbstring php7.2-curl php7.2-mysql php7.2-gd php7.2-imagick curl webmin this can take awhile, webmin takes awhile to install, so go watch a show or play solitaire . once it is done, it will return the prompt. so everything is installed, so next we need to start everything, in bash, enter this: sudo service apache2 start && sudo service mysql start && sudo service webmin start (it will prompt you for your user password). it should start up all the services, you can check in your browser by going to http://localhost and you should see something like this: now check if webmin is running, it will be the computers name (the part in bash prompt after your username) on port 10000, so it would be something like this: https://desktop-jlddkqm:10000 or https://localhost:100000 (don't log into it just yet, just make sure it is running, you should see a login prompt). you will be told the site is unsafe cause it doesn't have a cert, you can make an exception or edit webmin's config to change this: sudo nano /etc/webmin/miniserv.conf find: ssl=1 and change it to: ssl=0 now save and exit (ctrl+o then ctrl+x). restart webmin: sudo service webmin restart (sometimes this doesn't work, and you need restart your computer, i am not sure why it does this, if you restart, don't forget to start up all the services again when you open up bash). if you installed ubuntu 18.04 or installed mysql-server 5.7+, you will need to do this: In mysql 5.7, you are no longer able to use root to access your database, so you will need to setup another user to do this, in bash: sudo mysql -u root -p it will prompt you for the mysql root password, which at this point should be empty, so just hit enter, if that fails, enter your user password. this will enter the mysql prompt, do the follow, making changes where it says username and MYPASSWORDGOESHERE: GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'MYPASSWORDGOESHERE'; hit enter, next: FLUSH PRIVILEGES; hit enter, and finally: quit hit enter, it will return you to the prompt. optional (you can instead choose to create a vhost to where you want your document root to be): next we will link a folder from our C drive in windows to a /var/www/html in ubuntu (as you can't edit files on the linux fs with windows editors, something about permissions). now in WSL any of your drives are auto-mounted in /mnt, your C:\ drive will be /mnt/c and any other drive will be mounted under their drive letter. we will be assuming your document root for your web app is C:\myapp, so we need to get this linked to your servers document root folder, which is /var/www/html. to do this, we will create a symlink: sudo ln -s /mnt/c/myapp /var/www/html this will now be accessible via http://localhost/myapp/ okay, that it is it. apache is running, webmin is running, and everything is installed to get your local dev environment running. this isn't the end of the guide, just if you want, you can stop here and go about configuring the rest on your own. however if you want to do some more things, keep reading. Extra: Start With Bash: I like adding stuff to my .bashrc, so when i start the bash prompt, everything starts up for me (after enter my password, but you can set it up where sudo doesn't require a password, but use at your own peril). in the bash prompt: nano .bashrc using the arrow keys, go to the end and start a new line. add the following, each on their own line: sudo service apache2 start sudo service mysql start sudo service cron start sudo service webmin start save and exit (ctrl+o and then ctrl+x) i like adding cron here, as there are times i need to test out task, and setting a cron is a lot easier than trying to figure out the voodoo magic that is windows scheduler. but when you first open up bash, you will be prompted for your password, and then the services will start. Module userdir: I really like this module, allows me to work from my home directory, from a folder called public_html and accessible from http://localhost/~username/. first thing to do is enable the module for apache: sudo a2enmod userdir now we need to tell php it can parse php in the home dir: sudo nano /etc/apache2/mods-available/php7.2.conf find: php_admin_flag engine off comment it out, so make it look like this: #php_admin_flag engine off save and exit (ctrl+o then ctrl+x). restart apache: sudo service apache2 restart create the public_html folder in your home directory: cd ~ takes you back to your home dir. mkdir public_html creates a folder called public_html in your home dir. ln -s /mnt/c/webapp ~/public_html will link your webapp folder from your C:\ drive to ~/public_html/webapp. you will be able to access it via url: http://localhost/~username/webapp. as you can see, there is potentially a lot of work that goes into setting up WSL for a LAMP stack. you might think it isn't worth it, and it might not be for some, but for others it will be, as it will open up more possibilities, with the technology and applications working in a native environment. btw...why did you have us install webmin, you didn't do anything with it! you are right, i didn't use it in this guide. you can log into it now, and you can configure your webserver from there. i wanted to show you how it is done on the CLI, to get an appreciation for the software, but with webmin, it will allow you to do configuration with a GUI for apache and php. so if you don't see any need for webmin and are comfortable with the command line editors, then you can uninstall it or not install it to begin with. if you have any questions or comments, let me know below!
  4. Michael

    Strange New User Group Issue

    Changed Status from Pending to Work in Progress
  5. Earlier
  6. SMen

    Babble Version 3 Update

    I know this thread is aging, but out of curiosity... Why not use IPS to add the chat count on the Board menu and to create a "Who's in Chat" widget similar to "Who is Online"? I keep hearing that the primary issue is with the chat server, but IPS will tell you 1) is the user online and 2) is the user running the chat application. Wouldn't that take the burden off the babble app and give info outside of being inside of chat? As far as a "who is online or in the Room/Channel" within chat.... I agree with the others, it's a must. Clicking for the pop-up is acceptable, I suppose.... but it takes away from the stream-lined effect/comfort/ease of the application.
  7. SMen

    Strange New User Group Issue

    Given the lack of response... I reinstalled the babble application. That did not fix the problem. Some attention would greatly be appreciated. There are no issues with the IPS software, all is up-to-date. All original groups are working fine. Permissions (within babble, per room) for this new user group are the same as they are for the standard Member group... yet all the group can do with Babble is view the chat room.
  8. Kjell Iver Johansen

    Babble Chat Service

    Are you aware that as a guest - you could see a red number in the menu on how many members in the chat, but that is only on the EU server.. Is'nt that strange?
  9. SMen

    Strange New User Group Issue

    Hello Michael, I added a new user group and have been testing with a couple users. The only option afforded to this user group within chat is the rooms list icon (assuming they have access to more than one room). No Settings, no pop-out, and no text entry area. They can view private and public texts, but cannot respond (due to no text entry area). I've turned off permissions, reapplied them, re-cached.... Is there something that I am simply missing and/or forgetting to do? I have not tried reinstalling the application as of yet. Please advise. Thanks!
  10. Michael

    Support for Automation Rules

    Whoops\Exception\ErrorException thrown with message "Declaration of IPS\rules_hook_ipsOutput::sendOutput($output = '', $httpStatusCode = 200, $contentType = 'text/html', $httpHeaders = Array, $cacheThisPage = true, $pageIsCached = false, $parseFileObjects = true) should be compatible with IPS\_Output::sendOutput($output = '', $httpStatusCode = 200, $contentType = 'text/html', $httpHeaders = Array, $cacheThisPage = true, $pageIsCached = false, $parseFileObjects = true, $parseEmoji = true)" Stacktrace: #10 Whoops\Exception\ErrorException in /mnt/d/public_html/dev/hook_temp/IPS_OutputOutputapplications_rules_hooks_ipsOutput.php_1534985251.php:0 #9 Whoops\Run:handleError in /mnt/d/public_html/dev/init.php:470 #8 require_once in /mnt/d/public_html/dev/init.php:470 #7 IPS\IPS:monkeyPatch in /mnt/d/public_html/dev/init.php:437 #6 IPS\IPS:autoloader in [internal]:0 #5 spl_autoload_call in /mnt/d/public_html/dev/system/Dispatcher/Standard.php:54 #4 IPS\Dispatcher\_Standard:baseCss in /mnt/d/public_html/dev/hook_temp/IPS_Dispatcher_StandardStandardapplications_cjmg_hooks_DIspatcherStandard.php_1533876178.php:28 #3 IPS\Dispatcher\cjmg_hook_DIspatcherStandard:baseCss in /mnt/d/public_html/dev/system/Dispatcher/Front.php:650 #2 IPS\Dispatcher\_Front:baseCss in /mnt/d/public_html/dev/system/Dispatcher/Front.php:72 #1 IPS\Dispatcher\_Front:init in /mnt/d/public_html/dev/system/Dispatcher/Dispatcher.php:103 #0 IPS\_Dispatcher:i in /mnt/d/public_html/dev/index.php:13 this is one of the reasons i don't recommend rules, it's hooks throw errors. one of my clients had reported this one awhile back, i can see the latest version still hasn't fixed it. it also tends to make things that are optional in nodes/items, a requirement or the app will throw an error, again all have been reported, still not fixed. so take that at what you will. yes i do see the request for new features for this app, however i'd like to keep the app as simple as possible, not to give the false impression that it is a simple tool to detect potential duplicate accounts. if you can get the dev to rules to fix the errors i've mentioned, i would be more open to add support for it, but if i can't even get it installed on my dev board without it causing issues, i'm inclined to pass on it.
  11. alexis

    No new logs coming. Limitation?

    Good. This is what I wanted to hear. After several hours from my report, the logs continued to be logged. There was probably a kind of "stuck" on my server. You can try to reproduce it on my board, if you want and if it will help: I can provide you my credentials. Almost 600 pages of logs is pretty enough, and if it will be cleaned again, I won't be very upset
  12. alexis

    Support for Automation Rules

    Strange to read that. Do you see so many topics below requesting some new features? Adding support to a very powerfull Rules application will resolve most of them If someone from your customers have problem with the Rules application, we can just ask them to not use and not install the Rules.But I believe the rest of your customers will be happy to see the integration!
  13. Kjell Iver Johansen

    The EU server is down

    Hello - Last evening I changed to US server and then all was good. I experienced fallouts every now and then, and finally all my users did report that it did not work. later I changed back to EU - and then it was OK again.. So might be a local issue..
  14. Michael

    Support for Automation Rules

    i'll look into it, can't make any promises as a lot of my customers have had issues with rules, so there hasn't been a whole lot of demand in integration with it.
  15. Michael

    No new logs coming. Limitation?

    there aren't any limitation like that on the app. it might be a limitation put on it by your host or something, but i'll double check it. i was never able to reproduce this, but i'll try again.
  16. Michael

    The EU server is down

    it seems fine, i'm not showing any downtime for it in the logs. is it still happening to you?
  17. Kjell Iver Johansen

    The EU server is down

    Hello Michael I use the latest version - the eu server is not responding for us this evening..
  18. peopleandchat

    Babble v3 Alpha 6

    Hey again, Are you able to do a custom interface? For your 2.0 app. If so let me know I have muck up images.
  19. alexis

    Support for Automation Rules

    Hi @Michael, Is it possible to add the support for the Automation Rules application written by Kevin Carwile? Having an Event "A new entry has been logged" triggered every time a new duplicate log appears, will open a wide range of possibilities how to deal with this log: with Rules we can maintain the moderators notifications, create new topics/post new messages in a topic, send to some specific members an email/a notification/an inline message/a personal message, or even warn the users, who has created an alternative account and many-many other possibilities! If you are not much sure, how to deal with that application, and how to start with it, try to contact Kevin, according to his topic, he would probably help you This will help to make your wonderful application more flexible in use, more convenient and practical. Thank you,
  20. alexis

    No new logs coming. Limitation?

    Yesterday new entries of the alternative accounts stopped logging into Duplicate Logs. There are no new logs coming for the whole day. Usually, having hundreds of new registrations, we have dozens of the new entries in the Duplicate Logs on a daily basis. But yesterday evening it just stopped. No errors regarding your application found in the System Logs or anywhere else. I would suppose, that is probably because of a limitation? Does your application have any, @Michael? Currently we have 581 page of the logs in the Duplicate Logs section. And in the table "cjdml_members" there are exact 192700 rows already. Is this the maximum amount of logs your application can keep? I would might to use the "Delete record from CJ Duplicate Members Logs" button to remove some of them, but I'm aftaid to get that still unresolved issue, when deleting the second log by pushing that button, all the 581 pages of duplicate logs will be pruned immediately. Please help to check, Thank you
  21. JoelR

    Inline Moderation

    As a follow-up, I'd like multi-select moderation of both the main logger screen: And in the 'Actions' button > Show Alts: Sometimes when I check my CJ Duplicate Member Logger after a couple of weeks, I have multiple users that have queued up and I'd like to mass-select them for certain actions. PM all of them, Delete all of them, Remove record, etc.
  22. JoelR

    Suggestion: Add notification to moderator

    Add a notification to the moderator / administrator Otherwise, there's no front-end notice except by going into the ModCP and manually inspecting.
  23. liquidfractal

    Keyword Tooltip

    I will reiterate my comment on the main Invision site: I would really, really love it if Categories were introduced (with different colours enabled, through either the adminCP or custom.css) so that different series of keywords could be used in different parts of the site. The hovercard could then read "[your term here], from Category [your category here]," with the category clickable (for applicable members) to a list of affiliated/related terms. I'd be willing to invest in this.
  24. liquidfractal

    Keyword Tooltip

    Yeah this app is great...adds a whole new dimension for educational and instructive use in the Invision platform. It also has a lot of potential for development!
  25. liquidfractal

    just a missing language string

    ditto for "cjmg_saved_reload"
  26. liquidfractal

    just a missing language string

    Hey there, Just reporting a missing language string I noticed in MGM:
  27. Michael

    Suggestion: Add ban reason

    Changed Status from Pending to Work in Progress
  28. Michael

    Suggestion: Add ban reason

    so you want like a members not added to the users account?
  1. Load more activity
×