• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

[HOWTO] Captive portal + FreeRADIUS + local MySQL user friendly single step

Scheduled Pinned Locked Moved Captive Portal
154 Posts 47 Posters 104.2k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    deajan
    last edited by Apr 20, 2016, 8:13 AM

    Hello,

    This is more a pfSense than a captive portal problem.
    Are you still running V2.2 ?

    Check the contents of /usr/local/etc/pkg/pfSense.conf and see if FreeBSD is enabled (disable it after installing mysql).

    NetPOWER.fr - some opensource stuff for IT people

    1 Reply Last reply Reply Quote 0
    • M
      MasterBill
      last edited by Apr 30, 2016, 3:24 AM

      Thanks so much Deajan for this code! I just wanted to give a heads up that I ran into an issue with the firmware 2.3-RELEASE. When data was submitted I was getting a Fatal error: Call to undefined function mysql_connect(). I was pushing this data to a remote Mysql server.

      After looking around I found out from a post that php56-mysql needs to be installed manually on 2.3 with```
      pkg install php56-mysql

      1 Reply Last reply Reply Quote 0
      • D
        deajan
        last edited by Apr 30, 2016, 10:42 AM

        I think I wrote about this in section 2.1.2.
        Anyway, thanks for the feedback.

        NetPOWER.fr - some opensource stuff for IT people

        1 Reply Last reply Reply Quote 0
        • M
          MasterBill
          last edited by May 2, 2016, 1:32 PM

          Ahhh I see your right. I must have missed that some how. Anyway thanks again!

          1 Reply Last reply Reply Quote 0
          • N
            novensiles
            last edited by May 16, 2016, 3:18 PM

            Hallo,

            I did all fine but get

            PHP ERROR: Type: 1, File: /var/etc/captiveportal_oberemuehle.html, Line: 126, Message: Call to undefined function mysql_connect()

            after typed in registring datas and send it.

            php56-mysql  is Installed

            All Packages Updated + Upgraded

            1 Reply Last reply Reply Quote 0
            • J
              jmonline
              last edited by May 18, 2016, 11:03 AM

              On a brand new pfsense 2.3-RELEASE (amd64)

              I have edited /usr/local/etc/pkg/repos/pfSense.conf and set the following value:

              FreeBSD: { enabled: yes }
              

              I have then run :

              pkg update
              

              Then:

              pkg install nano git
              

              This then results in:

              
              pkg install nano git
              Updating FreeBSD repository catalogue...
              FreeBSD repository is up-to-date.
              Updating pfSense-core repository catalogue...
              pfSense-core repository is up-to-date.
              Updating pfSense repository catalogue...
              pfSense repository is up-to-date.
              All repositories are up-to-date.
              New version of pkg detected; it needs to be installed first.
              The following 1 package(s) will be affected (of 0 checked):
              
              Installed packages to be REINSTALLED:
                      pkg-1.6.2 [pfSense]
              
              2 MiB to be downloaded.
              
              Proceed with this action? [y/N]: y
              Fetching pkg-1.6.2.txz: 100%    2 MiB 632.9kB/s    00:04
              Checking integrity... done (0 conflicting)
              [1/1] Reinstalling pkg-1.6.2...
              You may need to manually remove /usr/local/etc/pkg.conf if it is no longer needed.
              [1/1] Extracting pkg-1.6.2: 100%
              Message from pkg-1.6.2:
              If you are upgrading from the old package format, first run:
              
                # pkg2ng
              Updating FreeBSD repository catalogue...
              FreeBSD repository is up-to-date.
              Updating pfSense-core repository catalogue...
              pfSense-core repository is up-to-date.
              Updating pfSense repository catalogue...
              pfSense repository is up-to-date.
              All repositories are up-to-date.
              New version of pkg detected; it needs to be installed first.
              Checking integrity... done (0 conflicting)
              The most recent version of packages are already installed
              Updating FreeBSD repository catalogue...
              FreeBSD repository is up-to-date.
              Updating pfSense-core repository catalogue...
              pfSense-core repository is up-to-date.
              Updating pfSense repository catalogue...
              pfSense repository is up-to-date.
              All repositories are up-to-date.
              New version of pkg detected; it needs to be installed first.
              
              

              This then loops over and over and does not stop.

              The same then happens if I run

              pkg install mysql56-server
              

              What am I missing please?

              1 Reply Last reply Reply Quote 0
              • N
                nimamhd
                last edited by May 18, 2016, 3:16 PM

                This is the bug of pkg and will fix in pkg 1.7.2:

                https://github.com/freebsd/pkg/issues/1303

                "" pkg infinite loop with multiple repos containing different versions of pkg ""

                you can comment out all other repo and install what you want, then restore the configuration to default.

                after install, the pkg will update to the last version that may cause the pfsense package system stop working, to resolve this:

                run:

                "pkg delete -f pkg" and install it again with pfsense repo.

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User
                  last edited by May 22, 2016, 8:06 AM

                  Hello Ozy, thank you so much for taking the time to do this. I can not stress how helpful this is!

                  I know this is a lot to ask but if anyone is considering to make a how to video I would really appreciate this. I am not so fluent in this type of configuration. Thank you!

                  1 Reply Last reply Reply Quote 1
                  • B
                    beewolf
                    last edited by May 26, 2016, 12:48 PM

                    I have set the FreeBSD: { enabled: yes } but when I try to install the mysql56-server I get:

                    Updating pfSense-core repository catalogue…
                    pfSense-core repository is up-to-date.
                    Updating pfSense repository catalogue...
                    pfSense repository is up-to-date.
                    All repositories are up-to-date.
                    pkg: No packages available to install matching 'mysql56-server' have been found in the repositories

                    Almost as if it is not looking in the FreeBSD repo.

                    I have restarted after enabling FreeBSD and gone back in to check that it is enabled.

                    Any ideas?  Thanks

                    1 Reply Last reply Reply Quote 0
                    • D
                      deajan
                      last edited by May 26, 2016, 9:33 PM May 26, 2016, 8:57 PM

                      Hi,

                      I've updated the captive portal code a couple of days ago with some bug fixes and minor improvements.
                      Sorry for not having answered earlier, been in holidays :)

                      @novensiles: can you give the output of "php -m" ?
                      @abebraham: sorry, but I think the text howto is enough. It's also easier to update it than to update a video. Feel free to ask for help here on the forum or github.
                      @beewolf: Repo files slightly changed between 2.3-RC and 2.3 final. I've updated the doc for this.

                      NetPOWER.fr - some opensource stuff for IT people

                      1 Reply Last reply Reply Quote 0
                      • B
                        beewolf
                        last edited by May 27, 2016, 10:16 AM

                        Many thanks for that - all installed fine with those changes but I am getting the following error on trying to log in:

                        PHP ERROR: Type 1, File /var/etc/captiveortal_guest_wifi.html, Line 127, Message: Call to undefined functionmysql_connect()

                        Probably something I have done but am struggling to find what exactly.  Any ideas?  Thanks

                        1 Reply Last reply Reply Quote 0
                        • D
                          deajan
                          last edited by May 27, 2016, 10:25 AM

                          What's your output of php -m ?

                          NetPOWER.fr - some opensource stuff for IT people

                          1 Reply Last reply Reply Quote 0
                          • B
                            beewolf
                            last edited by May 27, 2016, 10:37 AM

                            [2.3.1-RELEASE][root@pfSense.skh]/root/pfsense-cp-auth-onestep/sql: php -m

                            
                            bcmath
                            bz2
                            Core
                            ctype
                            curl
                            date
                            dom
                            ereg
                            filter
                            gettext
                            hash
                            json
                            ldap
                            libxml
                            mbstring
                            mcrypt
                            mhash
                            mysql
                            mysqlnd
                            openssl
                            pcntl
                            pcre
                            PDO
                            pdo_sqlite
                            pfSense
                            posix
                            radius
                            readline
                            Reflection
                            rrd
                            session
                            shmop
                            SimpleXML
                            sockets
                            SPL
                            sqlite3
                            ssh2
                            standard
                            suhosin
                            sysvmsg
                            sysvsem
                            sysvshm
                            tokenizer
                            xdebug
                            xml
                            xmlreader
                            xmlwriter
                            Zend OPcache
                            zlib
                            zmq
                            
                            [Zend Modules]
                            Xdebug
                            Zend OPcache
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • D
                              deajan
                              last edited by May 27, 2016, 11:17 AM

                              It seems that the mysql extension is there.
                              Can you please restart php-fpm ? And if it does not work, restart pfSense ?

                              NetPOWER.fr - some opensource stuff for IT people

                              1 Reply Last reply Reply Quote 0
                              • B
                                beewolf
                                last edited by May 28, 2016, 7:59 AM

                                Yes, thank you that worked - I should have tried that first!!

                                All seems to be working now in a test environment - just one thing, Freeradius needs to be started manually after a restart.  Is this usual?  Would it be possible to add the service to the MySQL cron job so it definitely starts automatically?

                                1 Reply Last reply Reply Quote 0
                                • D
                                  deajan
                                  last edited by May 28, 2016, 9:12 AM

                                  I'll add a note about rebooting to the guide.

                                  As for the freeradius service, it depends on mysql service.
                                  As there is no loading order, sometimes freeradius loads before mysql and may fail.

                                  In order to get FreeRADIUS working all the time, I've setup the watchdog package to restart failing services.

                                  NetPOWER.fr - some opensource stuff for IT people

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    beewolf
                                    last edited by May 29, 2016, 4:50 PM

                                    Many thanks - all working now.

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      novensiles
                                      last edited by Jun 3, 2016, 12:57 PM

                                      
                                      bcmath
                                      bz2
                                      Core
                                      ctype
                                      curl
                                      date
                                      dom
                                      ereg
                                      filter
                                      gettext
                                      hash
                                      json
                                      ldap
                                      libxml
                                      mbstring
                                      mcrypt
                                      mhash
                                      mysql
                                      mysqli
                                      mysqlnd
                                      openssl
                                      pcntl
                                      pcre
                                      PDO
                                      pdo_sqlite
                                      pfSense
                                      posix
                                      radius
                                      readline
                                      Reflection
                                      rrd
                                      session
                                      shmop
                                      SimpleXML
                                      sockets
                                      SPL
                                      sqlite3
                                      ssh2
                                      standard
                                      suhosin
                                      sysvmsg
                                      sysvsem
                                      sysvshm
                                      tokenizer
                                      xdebug
                                      xml
                                      xmlreader
                                      xmlwriter
                                      Zend OPcache
                                      zlib
                                      zmq
                                      
                                      [Zend Modules]
                                      Xdebug
                                      Zend OPcache
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        deajan
                                        last edited by Jun 3, 2016, 3:04 PM

                                        As stated above, you have the php mysql extension.
                                        Please restart php-fpm from console and try again.

                                        NetPOWER.fr - some opensource stuff for IT people

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          beewolf
                                          last edited by Jun 6, 2016, 3:49 PM

                                          My system has been running fine for a week - I had to restart to get the cables sorted neatly and now whatever I do I cant get Freeradius to start.  There is another post here:

                                          https://forum.pfsense.org/index.php?topic=109775.msg611138#msg611138

                                          with similar symptoms to what I am getting and I have tried the suggestions in that but no difference.

                                          I realise that this is probably a freeradius/pfsense problem but really need some help sorting it - I don't want to have to rebuild again!

                                          Many thanks

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received